X-Git-Url: https://git.draconx.ca/gitweb/dxcommon.git/blobdiff_plain/c576e02220d3ebf04a11b8568d4f96c4aab8fb84..8d922a2f63801c78bfebc41612cb57839f5367b8:/scripts/fix-gnulib.pl diff --git a/scripts/fix-gnulib.pl b/scripts/fix-gnulib.pl index c407d6f..3af852d 100755 --- a/scripts/fix-gnulib.pl +++ b/scripts/fix-gnulib.pl @@ -1,6 +1,6 @@ #!/usr/bin/env perl # -# Copyright © 2011-2014, 2020 Nick Bowler +# Copyright © 2011-2014, 2020-2022 Nick Bowler # # Prepare the Gnulib tree for inclusion into a non-recursive automake build. # While the output of gnulib-tool is "include"-able if the --makefile-name @@ -145,7 +145,7 @@ m4_unquote(m4_argn([2], [ # This trick should define gnulib_orderonly to | iff we're using GNU make. gnulib_make_features = $(.FEATURES) -gnulib_have_orderonly = $(findstring order-only,$(gnulib_make_features)) +gnulib_have_orderonly = $(findstring order-only,${gnulib_make_features}) gnulib_orderonly = $(gnulib_have_orderonly:order-only=|) gnulib_core_headers = gnulib_raw_headers = $(gnulib_core_headers) @@ -211,7 +211,7 @@ EOF if (/^([[:word:]]+)[[:space:]]*\+?=/) { $allvars{$1} = 1; - if (/_SOURCES|CLEANFILES|EXTRA_DIST|[[:upper:]]+_H/) { + if ($1 =~ /(_SOURCES|CLEANFILES|EXTRA_DIST|[[:upper:]]+_H)$/) { $_ = mangle_variable($_); } } @@ -246,17 +246,21 @@ EOF # component. s/t-\$@/\$\@-t/g; - # Finally, references to $(srcdir) and $(builddir) need to be fixed up. + # Finally, $(srcdir), $(builddir) and %reldir% need to be fixed up. s:\$\(srcdir\):\$\(top_srcdir\)/lib:g; s:\$\(builddir\):\$\(top_builddir\)/lib:g; + s:%reldir%:lib:g; } continue { s/(\n.)/\\\1/g; print; }; print <<'EOF' if ($use_libtool); -gnulib_objects = $(libgnu_la_OBJECTS) $(gl_LTLIBOBJS) +gnulib_lt_objects = $(libgnu_la_OBJECTS) $(gl_LTLIBOBJS) +gnulib_objects = $(gnulib_lt_objects) +gnulib_all_symfiles = $(gnulib_lt_objects:.lo=.glsym) $(gnulib_objects): $(gnulib_headers) EOF print <<'EOF' if (!$use_libtool); gnulib_objects = $(libgnu_a_OBJECTS) $(gl_LIBOBJS) +gnulib_all_symfiles = $(gnulib_objects:.@OBJEXT@=.glsym) $(gnulib_objects): $(gnulib_headers) EOF @@ -269,10 +273,10 @@ if FALSE AC_SUBST([GLSRC], [lib]) AC_CONFIG_LIBOBJ_DIR([lib]) -AC_DEFUN_ONCE([DX_GLSYM_PREFIX], [dnl -AC_REQUIRE([DX_EXPORTED_SH]) -AC_SUBST([GLSYM_PREFIX], [$1]) -]) +AC_DEFUN_ONCE([DX_GLSYM_PREFIX], +[AC_REQUIRE([DX_AUTOMAKE_COMPAT])AC_REQUIRE([DX_EXPORTED_SH])dnl +AC_SUBST([GLSYM_PREFIX], [$1])dnl +AC_SUBST([gnulib_symfiles], ['$(gnulib_all_symfiles)'])]) EOF print <<'EOF' if ($for_library);