Hi, It was found that the first compilation test to get baseline warnings was getting more messages due to a missing object.d file, compared to later configure tests where libphobos is in the include paths.
Because there must always be an object module during compilation, let the tests themselves be an empty object module instead. This patch fixes build failure in PR88431, bootstrapped and regression tested on x86_64-linux-gnu. Committed to trunk as r270531. -- Iain --- libphobos/ChangeLog: 2019-04-24 Iain Buclaw <ibuc...@gdcproject.org> PR d/88431 * configure: Regenerate. * m4/libtool.m4 (lt_simple_compile_test_code): Update to not have dependencies on libphobos. (lt_simple_link_test_code): Likewise. (GDCFLAGS): Don't override for D compiler tests. ---
diff --git a/libphobos/configure b/libphobos/configure index 8079a73527d..7c019899c5c 100755 --- a/libphobos/configure +++ b/libphobos/configure @@ -11981,10 +11981,16 @@ objext=o objext_D=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code="module mod; extern(C) int main() { return 0; }" +lt_simple_compile_test_code="\ + module object; + shared int some_variable = 0; +" # Code to be used in simple link tests -lt_simple_link_test_code='module mod; extern(C) int main() { return 0; }' +lt_simple_link_test_code="\ + module object; + extern(C) int main() { return 0; } +" # ltmain only uses $CC for tagged configurations so make sure $CC is set. @@ -12020,12 +12026,9 @@ $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS -lt_save_DFLAGS=$GDCFLAGS lt_save_GCC=$GCC GCC=yes CC=${GDC-"gdc"} -# Need to specify location for object.d -GDCFLAGS="-nophoboslib $GDCFLAGS" CFLAGS=$GDCFLAGS compiler=$CC compiler_D=$CC @@ -13867,7 +13870,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS -GDCFLAGS=$lt_save_DFLAGS GDCFLAGS=$gdc_save_DFLAGS diff --git a/libphobos/m4/libtool.m4 b/libphobos/m4/libtool.m4 index 44ca572025b..0263a530cf0 100644 --- a/libphobos/m4/libtool.m4 +++ b/libphobos/m4/libtool.m4 @@ -20,10 +20,16 @@ objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code="module mod; extern(C) int main() { return 0; }" +lt_simple_compile_test_code="\ + module object; + shared int some_variable = 0; +" # Code to be used in simple link tests -lt_simple_link_test_code='module mod; extern(C) int main() { return 0; }' +lt_simple_link_test_code="\ + module object; + extern(C) int main() { return 0; } +" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER @@ -35,12 +41,9 @@ _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS -lt_save_DFLAGS=$GDCFLAGS lt_save_GCC=$GCC GCC=yes CC=${GDC-"gdc"} -# Need to specify location for object.d -GDCFLAGS="-nophoboslib $GDCFLAGS" CFLAGS=$GDCFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC @@ -74,5 +77,4 @@ AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS -GDCFLAGS=$lt_save_DFLAGS ])# _LT_LANG_D_CONFIG