]> git.draconx.ca Git - dxcommon.git/commitdiff
Handle gl_LIBOBJS/gl_LTLIBOBJS correctly.
authorNick Bowler <nbowler@draconx.ca>
Mon, 19 Sep 2011 22:43:34 +0000 (18:43 -0400)
committerNick Bowler <nbowler@draconx.ca>
Wed, 21 Sep 2011 23:25:09 +0000 (19:25 -0400)
These AC_SUBSTed variables reference objects whose sources are located
in lib, thus they need to be rewritten like other AC_SUBSTed variables.

These objects also need the header dependencies like other objects.

scripts/fix-gnulib.pl

index b93cf22b44dc5fe042057ca4b9ec462c7541c106..1f50d4954b4c203dd90eb5d122b3c85768f1f115 100755 (executable)
@@ -145,7 +145,10 @@ EOF
        s:\$\(builddir\):\$\(top_builddir\)/lib:g;
 } continue { print };
 
-print "\$(libgnu_la_OBJECTS): \$(gnulib_headers)\n";
+print <<'EOF';
+gnulib_lt_objects = $(libgnu_la_OBJECTS) $(gl_LTLIBOBJS)
+$(gnulib_lt_objects): $(gnulib_headers)
+EOF
 
 # Some filenames are AC_SUBSTed by the Gnulib macros, and thus we need to
 # prepend lib/ if and only if they're not empty.  Unfortunately, make is not
@@ -159,6 +162,16 @@ if (defined $m4output) {
 
        print M4OUT "dnl This file was generated by fix-gnulib.pl\n";
        print M4OUT "AC_DEFUN([$m4macro], [dnl\n";
+       print M4OUT <<'EOF';
+m4_foreach([gl_objvar], [[gl_LIBOBJS], [gl_LTLIBOBJS]], [dnl
+set x $gl_objvar; shift
+gl_objvar=
+while test ${#} -gt 0; do
+       gl_objvar="$gl_objvar lib/${1}"; shift
+done
+])
+EOF
+
        foreach (@vars) {
                print M4OUT "$_=\${$_:+lib/\$$_}\n";
        }