From: Bruno Haible Date: Sat, 21 Dec 2024 21:56:46 +0000 (+0100) Subject: gnulib-tool: Recognize @LT@, @la@, @lo@ tokens in module descriptions. X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=ed7f79d453b773d0d0232640d243d63ee865490d;p=gnulib.git gnulib-tool: Recognize @LT@, @la@, @lo@ tokens in module descriptions. * gnulib-tool.sh (func_emit_lib_Makefile_am): Replace @LT@, @la@, @lo@ tokens. (func_emit_tests_Makefile_am): Likewise. * pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Likewise. (GLEmiter.tests_Makefile_am): Likewise. --- diff --git a/ChangeLog b/ChangeLog index c9f61913d6..02a1a23ba3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2024-12-21 Bruno Haible + + gnulib-tool: Recognize @LT@, @la@, @lo@ tokens in module descriptions. + * gnulib-tool.sh (func_emit_lib_Makefile_am): Replace @LT@, @la@, @lo@ + tokens. + (func_emit_tests_Makefile_am): Likewise. + * pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Likewise. + (GLEmiter.tests_Makefile_am): Likewise. + 2024-12-20 Bruno Haible stdint: Detect MSVC __typeof__ support. diff --git a/gnulib-tool.sh b/gnulib-tool.sh index c29de46b8f..b622d252a5 100755 --- a/gnulib-tool.sh +++ b/gnulib-tool.sh @@ -3798,10 +3798,12 @@ func_emit_lib_Makefile_am () fi if test "$libtool" = true; then libext=la + objext=lo perhapsLT=LT sed_eliminate_LDFLAGS="$sed_noop" else libext=a + objext=o perhapsLT= sed_eliminate_LDFLAGS='/^lib_LDFLAGS[ ]*+=/d' fi @@ -3842,6 +3844,9 @@ func_emit_lib_Makefile_am () -e 's,lib_LTLIBRARIES,lib%_LTLIBRARIES,g' \ -e "$sed_eliminate_LDFLAGS" \ -e "$sed_eliminate_NMD" \ + -e "s,@LT@,$perhapsLT,g" \ + -e "s,@la@,$libext,g" \ + -e "s,@lo@,$objext,g" \ -e 's,lib_\([A-Z][A-Z]*\),'"${libname}_${libext}"'_\1,g' \ -e 's,\$(GNULIB_,$('"${module_indicator_prefix}"'_GNULIB_,' \ -e 's,lib%_LIBRARIES,lib_LIBRARIES,g' \ @@ -4180,9 +4185,13 @@ func_emit_tests_Makefile_am () witness_macro="$1" if test "$libtool" = true; then libext=la + objext=lo + perhapsLT=LT sed_eliminate_LDFLAGS="$sed_noop" else libext=a + objext=o + perhapsLT= sed_eliminate_LDFLAGS='/^lib_LDFLAGS[ ]*+=/d' fi # Replace NMD, so as to remove redundant "$(MKDIR_P) '.'" invocations. @@ -4222,6 +4231,9 @@ func_emit_tests_Makefile_am () -e 's,lib_LTLIBRARIES,lib%_LTLIBRARIES,g' \ -e "$sed_eliminate_LDFLAGS" \ -e "$sed_eliminate_NMD" \ + -e "s,@LT@,$perhapsLT,g" \ + -e "s,@la@,$libext,g" \ + -e "s,@lo@,$objext,g" \ -e 's,lib_\([A-Z][A-Z]*\),libtests_a_\1,g' \ -e 's,\$(GNULIB_,$('"${module_indicator_prefix}"'_GNULIB_,' \ -e 's,lib%_LIBRARIES,lib_LIBRARIES,g' \ diff --git a/pygnulib/GLEmiter.py b/pygnulib/GLEmiter.py index 7eb8b27d46..8bdaf2d191 100644 --- a/pygnulib/GLEmiter.py +++ b/pygnulib/GLEmiter.py @@ -702,10 +702,12 @@ AC_DEFUN([%V1%_LIBSOURCES], [ assign = '=' if libtool: libext = 'la' + objext = 'lo' perhapsLT = 'LT' eliminate_LDFLAGS = False else: # if not libtool libext = 'a' + objext = 'o' perhapsLT = '' eliminate_LDFLAGS = True if for_test: @@ -739,6 +741,10 @@ AC_DEFUN([%V1%_LIBSOURCES], [ # Replace NMD, so as to remove redundant "$(MKDIR_P) '.'" invocations. # The logic is similar to how we define gl_source_base_prefix. amsnippet1 = _eliminate_NMD(amsnippet1, automake_subdir) + # Replace @LT@, @la@, @lo@, depending on libtool. + amsnippet1 = amsnippet1.replace('@LT@', perhapsLT) + amsnippet1 = amsnippet1.replace('@la@', libext) + amsnippet1 = amsnippet1.replace('@lo@', objext) pattern = re.compile(r'lib_([A-Z]+)', re.M) amsnippet1 = pattern.sub(r'%s_%s_\1' % (libname, libext), amsnippet1) @@ -992,9 +998,13 @@ AC_DEFUN([%V1%_LIBSOURCES], [ if libtool: libext = 'la' + objext = 'lo' + perhapsLT = 'LT' eliminate_LDFLAGS = False else: # if not libtool libext = 'a' + objext = 'o' + perhapsLT = '' eliminate_LDFLAGS = True if for_test: # When creating a package for testing: Attempt to provoke failures, @@ -1034,6 +1044,10 @@ AC_DEFUN([%V1%_LIBSOURCES], [ # Replace NMD, so as to remove redundant "$(MKDIR_P) '.'" invocations. # The logic is similar to how we define gl_source_base_prefix. amsnippet1 = _eliminate_NMD(amsnippet1, False) + # Replace @LT@, @la@, @lo@, depending on libtool. + amsnippet1 = amsnippet1.replace('@LT@', perhapsLT) + amsnippet1 = amsnippet1.replace('@la@', libext) + amsnippet1 = amsnippet1.replace('@lo@', objext) pattern = re.compile(r'lib_([A-Z]+)', re.M) amsnippet1 = pattern.sub(r'libtests_a_\1', amsnippet1) amsnippet1 = amsnippet1.replace('$(GNULIB_', '$(' + module_indicator_prefix + '_GNULIB_')