X-Git-Url: http://git.draconx.ca/gitweb/dxcommon.git/blobdiff_plain/3b9bc71b625c5f96302b035fdea8fd09171d1cfa..d4b010a6dc3c999c9d3488a453ab2be1af18b6c9:/scripts/fix-ltdl.pl?ds=sidebyside diff --git a/scripts/fix-ltdl.pl b/scripts/fix-ltdl.pl index da987be..f65265d 100755 --- a/scripts/fix-ltdl.pl +++ b/scripts/fix-ltdl.pl @@ -1,6 +1,6 @@ #!/usr/bin/env perl # -# Copyright © 2012 Nick Bowler +# Copyright © 2012, 2014 Nick Bowler # # Fixup a non-recursive libltdl makefile fragment. While libltdl purports to # support inclusion into non-recursive automake builds, it does a few things @@ -98,7 +98,8 @@ while () { print "# Postprocessed by ", basename($0), "\n"; print <<'EOF'; # This trick should define ltdl_orderonly to | iff we're using GNU make. -ltdl_have_orderonly = $(findstring order-only,$(.FEATURES)) +ltdl_make_features = $(.FEATURES) +ltdl_have_orderonly = $(findstring order-only,$(ltdl_make_features)) ltdl_orderonly = $(ltdl_have_orderonly:order-only=|) ltdl_core_headers = ltdl_src_headers = $(ltdl_orderonly) $(ltdl_core_headers) @@ -141,6 +142,15 @@ EOF $_ = fixup_libobjs($_); } + # There is no reason to list $(LT_DLLOADERS) in noinst_LTLIBRARIES; + # these will be picked up as ordinary prerequisites. They're already + # all in EXTRA_LTLIBRARIES. + drop if (/^noinst_LTLIBRARIES.*\$\(LT_DLLOADERS\)$/); + + # Don't list other libs in noinst_LTLIBRARIES so that they don't get + # built unless explicitly required by prerequisites. + s/noinst_LTLIBRARIES/EXTRA_LTLIBRARIES/; + # BUILT_SOURCES has similar problems to recursive make: inadequate # dependencies lead to incorrect builds. Collect them into an # ordinary variable so we can deal with them later.