* gettext-runtime/m4/po.m4 (AM_PO_SUBDIRS): Bump GETTEXT_MACRO_VERSION to 0.24.
Don't create POTFILES any more.
(AM_POSTPROCESS_PO_MAKEFILE): Don't substitute POTFILES_DEPS any more.
* gettext-runtime/po/Makefile.in.in (GETTEXT_MACRO_VERSION): Bump to 0.24.
Mention 'make' requirements.
(POTFILES, POTFILES_DEPS): Define with a computed value.
($(DOMAIN).pot-update): Depend on POTFILES_DEPS, not POTFILES.
(distclean): Don't remove POTFILES any more.
* gettext-tools/examples/README: Mention 'make' requirements.
* gettext-tools/examples/po/Makefile.am (POTFILES_DEPS): Define with a computed
value.
* gettext-tools/examples/hello-*/po/Makefile.am (POTFILES_DEPS): Likewise.
/gettext-runtime/man/x-to-1
/gettext-runtime/po/Makefile.in
/gettext-runtime/po/Makefile
-/gettext-runtime/po/POTFILES
/gettext-runtime/src/Makefile
# (see DISTCLEANFILES in Makefile.am):
/gettext-runtime/src/gettext.sh
/gettext-tools/misc/gettextize
/gettext-tools/po/Makefile.in
/gettext-tools/po/Makefile
-/gettext-tools/po/POTFILES
/gettext-tools/projects/Makefile
/gettext-tools/src/Makefile
/gettext-tools/src/user-email
# po.m4
-# serial 33 (gettext-0.23)
-dnl Copyright (C) 1995-2014, 2016, 2018-2022, 2024 Free Software Foundation,
-dnl Inc.
+# serial 34 (gettext-0.24)
+dnl Copyright (C) 1995-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl Release version of the gettext macros. This is used to ensure that
dnl the gettext macros and po/Makefile.in.in are in sync.
- AC_SUBST([GETTEXT_MACRO_VERSION], [0.22])
+ AC_SUBST([GETTEXT_MACRO_VERSION], [0.24])
dnl Perform the following tests also if --disable-nls has been given,
dnl because they are needed for "make dist" to work.
# POTFILES.in file. This allows packages to have multiple PO
# directories under different names or in different locations.
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
- rm -f "$ac_dir/POTFILES"
- test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
- gt_tab=`printf '\t'`
- cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
POMAKEFILEDEPS="POTFILES.in"
# ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
# on $ac_dir but don't depend on user-specified configuration
done
fi
test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
- sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ sed -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
if test -f "$f"; then
case "$f" in
'
changequote([,])dnl
- # Set POTFILES to the value of the Makefile variable POTFILES.
- sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
- POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
- # Compute POTFILES_DEPS as
- # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
- POTFILES_DEPS=
- for file in $POTFILES; do
- POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
- done
POMAKEFILEDEPS=""
if test -n "$OBSOLETE_ALL_LINGUAS"; then
done
fi
- sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+ sed -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
tab=`printf '\t'`
if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
# Add dependencies that cannot be formulated as a simple suffix rule.
# notice and this notice are preserved. This file is offered as-is,
# without any warranty.
#
-# Origin: gettext-0.23
-GETTEXT_MACRO_VERSION = 0.22
+# Origin: gettext-0.24
+GETTEXT_MACRO_VERSION = 0.24
+
+# This Makefile makes use of the variable assignment operator != standardized
+# by POSIX:2024
+# <https://pubs.opengroup.org/onlinepubs/9799919799/utilities/make.html>.
+# It thus requires a 'make' implementation that supports this operator !=.
+# As of 2024, these are: GNU make >= 4.0, FreeBSD make, NetBSD make,
+# OpenBSD make. This means that building on specific platforms requires
+# use of GNU make:
+# - On macOS, use /opt/homebrew/bin/gmake.
+# - On Solaris 11 OpenIndiana, use /usr/bin/gmake = /usr/gnu/bin/make.
+# - On Solaris 11.4, install GNU make yourself.
+# - On AIX, use /opt/freeware/bin/make.
PACKAGE = @PACKAGE@
VERSION = @VERSION@
$(POFILES) $(GMOFILES) \
$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
-POTFILES = \
+# The list of files which contain translatable strings.
+POTFILES != sed -e '/^\#/d' < $(srcdir)/POTFILES.in
+# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
CATALOGS = @CATALOGS@
# The determination of whether the package xyz is a GNU one is based on the
# heuristic whether some file in the top level directory mentions "GNU xyz".
# If GNU 'find' is available, we avoid grepping through monster files.
-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in
+$(DOMAIN).pot-update: $(POTFILES_DEPS) $(srcdir)/POTFILES.in
package_gnu="$(PACKAGE_GNU)"; \
test -n "$$package_gnu" || { \
if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
clean: mostlyclean
distclean: clean
- rm -f Makefile Makefile.in POTFILES
+ rm -f Makefile Makefile.in
maintainer-clean: distclean
@echo "This command is intended for maintainers to use;"
hello-c++-qt .qm Makefile.am
hello-objc-gnustep .strings GNUmakefile
+The Makefiles in the po/ directories make use of the variable assignment
+operator != standardized by POSIX:2024
+<https://pubs.opengroup.org/onlinepubs/9799919799/utilities/make.html>.
+They thus require a 'make' implementation that supports this operator !=.
+As of 2024, these are: GNU make >= 4.0, FreeBSD make, NetBSD make,
+OpenBSD make. This means that building on specific platforms requires
+use of GNU make:
+ - On macOS, use /opt/homebrew/bin/gmake.
+ - On Solaris 11 OpenIndiana, use /usr/bin/gmake = /usr/gnu/bin/make.
+ - On Solaris 11.4, install GNU make yourself.
+ - On AIX, use /opt/freeware/bin/make.
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
MSGFILTER = msgfilter
# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-POTFILES_DEPS = @POTFILES_DEPS@
+POTFILES_DEPS != for file in $(POTFILES); do echo $(top_srcdir)/$$file; done
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@