# HG changeset patch # User Bruno Haible # Date 1198681193 -3600 # Node ID 56fe79dce87db3d89254bf7bf04f57f3c8584a74 # Parent 97082c49805f4688b9cc077bfd2562b930762ef9 Remove unnecessary -l options from LDFLAGS. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-12-22 Bruno Haible + + * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with + two variables local_ldadd_before, local_ldadd_last. + 2007-12-20 Eric Blake Work around circular library issue when cross-compiling. diff --git a/gnulib-tool b/gnulib-tool --- a/gnulib-tool +++ b/gnulib-tool @@ -1919,14 +1919,21 @@ echo " -I${testsbase_inverse} -I\$(srcdir)/${testsbase_inverse} \\" echo " -I${testsbase_inverse}/${sourcebase-lib} -I\$(srcdir)/${testsbase_inverse}/${sourcebase-lib}" echo - local_ldadd='' + local_ldadd_before='' + local_ldadd_after='' if $use_libtests; then - local_ldadd=' libtests.a $(LIBTESTS_LIBDEPS)' + # All test programs need to be linked with libtests.a. + # It needs to be passed to the linker before ${libname}.${libext}, since + # the tests-related modules depend on the main modules. + # It also needs to be passed to the linker after ${libname}.${libext} + # because the latter might contain incomplete modules (such as the 'error' + # module whose dependency to 'progname' is voluntarily omitted). + # The LIBTESTS_LIBDEPS can be passed to the linker once or twice, it does + # not matter. + local_ldadd_before=' libtests.a' + local_ldadd_after=' libtests.a $(LIBTESTS_LIBDEPS)' fi - # local_ldadd must be listed first, since it often depends on non-test - # modules; it must also be listed last, since it can include modules - # such as progname that satisfy dependencies of non-test modules. - echo "LDADD =${local_ldadd} ${testsbase_inverse}/${sourcebase-lib}/${libname}.${libext}${local_ldadd}" + echo "LDADD =${local_ldadd_before} ${testsbase_inverse}/${sourcebase-lib}/${libname}.${libext}${local_ldadd_after}" echo if $use_libtests; then echo "libtests_a_SOURCES ="