]> git.draconx.ca Git - dxcommon.git/blobdiff - scripts/fix-gnulib.pl
fix-gnulib: Add a call to AC_CONFIG_LIBOBJ_DIR
[dxcommon.git] / scripts / fix-gnulib.pl
index 85ae6321980e743632f2e3c911e3b2314f460139..2ddf1f8ee0ea521ef700264cd52e14f2d40a4239 100755 (executable)
@@ -138,6 +138,10 @@ gnulib_orderonly = $(gnulib_have_orderonly:order-only=|)
 gnulib_core_headers =
 gnulib_raw_headers = $(gnulib_core_headers)
 gnulib_headers = $(gnulib_orderonly) $(gnulib_raw_headers)
+
+# Oddly, gnulib tries to add to MOSTLYCLEANDIRS (which is *not* an automake
+# variable) without defining it.
+MOSTLYCLEANDIRS =
 EOF
 
                $printed_header = 1;
@@ -161,6 +165,10 @@ EOF
        # handle them all manually.
        drop if (/LDFLAGS/);
 
+       # Current uses of SUFFIXES in gnulib are pointless since Automake will
+       # figure it out all on its own.  Strip it out.
+       drop if (/SUFFIXES/);
+
        # Rewrite automake hook targets to be more generic.
        if (s/^(.*)-local:/\1-gnulib:/) {
                print ".PHONY: $1-gnulib\n";
@@ -193,12 +201,17 @@ EOF
                $_ = mangle_target($_);
        }
 
+       # MKDIR_P commands need to be fixed up; in principle Gnulib could also
+       # be patched here to use $(@D) instead (and thus automatically benefit
+       # from the target being fixed up), but this will do for now.
+       s/^(\t.*\$\(MKDIR_P\)) ([[:alnum:]]+)$/\1 lib\/\2/;
+
        # When using conditional-dependencies, *CLEANFILES can end up
        # depending on the configuration.  This means that "make distclean"
        # may not actually delete everything if the configuration changes
        # after building the package.  Stash all the variables for later so
        # they can be moved outside of any conditional.
-       if (/CLEANFILES/) {
+       if (/(CLEANFILES|CLEANDIRS)[[:space:]]*\+=/) {
                push(@cleanfiles, $_);
                drop;
        }
@@ -227,7 +240,12 @@ if FALSE
 ], [dnl M4 code follows
 
 AC_SUBST([GLSRC], [lib])
-AC_DEFUN_ONCE([DX_GLSYM_PREFIX], [AC_SUBST([GLSYM_PREFIX], [$1])])
+AC_CONFIG_LIBOBJ_DIR([lib])
+
+AC_DEFUN_ONCE([DX_GLSYM_PREFIX], [dnl
+AC_REQUIRE([DX_EXPORTED_SH])
+AC_SUBST([GLSYM_PREFIX], [$1])
+])
 AC_CONFIG_COMMANDS_PRE([DX_GLSYM_PREFIX([${PACKAGE}__])])
 
 m4_foreach([gl_objvar], [[gl_LIBOBJS], [gl_LTLIBOBJS]], [dnl