]> git.draconx.ca Git - dxcommon.git/blobdiff - scripts/fix-gnulib.pl
Import exported.sh from cdecl99.
[dxcommon.git] / scripts / fix-gnulib.pl
index 85ae6321980e743632f2e3c911e3b2314f460139..e043d777800df59442e608bfa91af5d633130339 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;
@@ -193,12 +197,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 +236,11 @@ if FALSE
 ], [dnl M4 code follows
 
 AC_SUBST([GLSRC], [lib])
-AC_DEFUN_ONCE([DX_GLSYM_PREFIX], [AC_SUBST([GLSYM_PREFIX], [$1])])
+
+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