+2024-12-21 Bruno Haible <bruno@clisp.org>
+
+ 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 <bruno@clisp.org>
stdint: Detect MSVC __typeof__ support.
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
-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' \
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.
-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' \
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:
# 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)
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,
# 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_')