#!/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
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)
$_ = 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.