<div dir="ltr"><div>I have more or less already ordered them that way in the latest patchset: there's gettext, rpm, python, acl/attr, lttng, followed by everything else. Let me know if the split is unclear.<br></div><div><br></div><div>The idea is to significantly bring down the amount of outdated recipes in oe-core, so that in the future we have a manageable amount of outstanding upgrades to do (e.g. a dozen or two at any given time, rather than over a hundred). Right now AUH is finishing up its own monthly update crunch, so that should help too.<br></div><div><br></div><div>Alex<br></div><div dir="ltr"><br></div><div dir="ltr">On Wed, 18 Dec 2019 at 21:54, Khem Raj <<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Alex, good work on these changes, I think it would be good to upstream <br>
this in three groups.<br>
<br>
1. common updates ( that might have resulted from gettext or python3.8 <br>
update ) but is generally ok<br>
<br>
2. Gettext and related patches<br>
<br>
3. python 3.8 patches<br>
<br>
This will give us a good way to consume these changes fast. Right now if<br>
I throw all these patches and several packages break, it will be harder <br>
to pin point what the reason is and how best to fix it.<br>
<br>
Even if you grouped these patches that way it will help a lot.<br>
<br>
On 12/18/19 6:37 AM, Alexander Kanavin wrote:<br>
> Rather than update a tarball, I took m4 files directly from an install of 0.20.1.<br>
> <br>
> The patch is dropped as guile has long been removed from oe-core.<br>
> <br>
> Signed-off-by: Alexander Kanavin <<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>><br>
> ---<br>
> ...H-Disable-the-test-to-convert-euc-jp.patch | 38 -<br>
> .../gettext-minimal-0.19.8.1/aclocal.tgz | Bin 40014 -> 0 bytes<br>
> .../COPYING | 0<br>
> .../<a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a> | 124 +--<br>
> .../gettext-minimal-0.20.1/aclocal/gettext.m4 | 386 +++++++++<br>
> .../aclocal/host-cpu-c-abi.m4 | 644 +++++++++++++++<br>
> .../gettext-minimal-0.20.1/aclocal/iconv.m4 | 288 +++++++<br>
> .../aclocal/intlmacosx.m4 | 72 ++<br>
> .../gettext-minimal-0.20.1/aclocal/lib-ld.m4 | 168 ++++<br>
> .../aclocal/lib-link.m4 | 774 ++++++++++++++++++<br>
> .../aclocal/lib-prefix.m4 | 249 ++++++<br>
> .../gettext-minimal-0.20.1/aclocal/nls.m4 | 32 +<br>
> .../gettext-minimal-0.20.1/aclocal/po.m4 | 450 ++++++++++<br>
> .../aclocal/progtest.m4 | 91 ++<br>
> .../config.rpath | 2 +-<br>
> .../remove-potcdate.sin | 8 +-<br>
> ....<a href="http://1.bb" rel="noreferrer" target="_blank">1.bb</a> => <a href="http://gettext-minimal-native_0.20.1.bb" rel="noreferrer" target="_blank">gettext-minimal-native_0.20.1.bb</a>} | 5 +-<br>
> 17 files changed, 3236 insertions(+), 95 deletions(-)<br>
> delete mode 100644 meta/recipes-core/gettext/gettext-minimal-0.19.8.1/0001-PATCH-Disable-the-test-to-convert-euc-jp.patch<br>
> delete mode 100644 meta/recipes-core/gettext/gettext-minimal-0.19.8.1/aclocal.tgz<br>
> rename meta/recipes-core/gettext/{gettext-minimal-0.19.8.1 => gettext-minimal-0.20.1}/COPYING (100%)<br>
> rename meta/recipes-core/gettext/{gettext-minimal-0.19.8.1 => gettext-minimal-0.20.1}/<a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a> (78%)<br>
> create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/gettext.m4<br>
> create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/host-cpu-c-abi.m4<br>
> create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/iconv.m4<br>
> create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/intlmacosx.m4<br>
> create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-ld.m4<br>
> create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-link.m4<br>
> create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-prefix.m4<br>
> create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/nls.m4<br>
> create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/po.m4<br>
> create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/progtest.m4<br>
> rename meta/recipes-core/gettext/{gettext-minimal-0.19.8.1 => gettext-minimal-0.20.1}/config.rpath (99%)<br>
> rename meta/recipes-core/gettext/{gettext-minimal-0.19.8.1 => gettext-minimal-0.20.1}/remove-potcdate.sin (50%)<br>
> rename meta/recipes-core/gettext/{<a href="http://gettext-minimal-native_0.19.8.1.bb" rel="noreferrer" target="_blank">gettext-minimal-native_0.19.8.1.bb</a> => <a href="http://gettext-minimal-native_0.20.1.bb" rel="noreferrer" target="_blank">gettext-minimal-native_0.20.1.bb</a>} (86%)<br>
> <br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/0001-PATCH-Disable-the-test-to-convert-euc-jp.patch b/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/0001-PATCH-Disable-the-test-to-convert-euc-jp.patch<br>
> deleted file mode 100644<br>
> index 29ef2a5a63d..00000000000<br>
> --- a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/0001-PATCH-Disable-the-test-to-convert-euc-jp.patch<br>
> +++ /dev/null<br>
> @@ -1,38 +0,0 @@<br>
> -[PATCH] Disable the test to convert euc-jp<br>
> -<br>
> -Remove the test "Test against HP-UX 11.11 bug:<br>
> -No converter from EUC-JP to UTF-8 is provided"<br>
> -since we don't support HP-UX and if the euc-jp is not<br>
> -installed on the host, the dependence will be built without<br>
> -iconv support and will cause guile-native building fail.<br>
> -<br>
> -Upstream-Status: Inappropriate [OE specific]<br>
> -<br>
> -Signed-off-by: Roy Li <<a href="mailto:rongqing.li@windriver.com" target="_blank">rongqing.li@windriver.com</a>><br>
> ----<br>
> - iconv.m4 | 2 ++<br>
> - 1 file changed, 2 insertions(+)<br>
> -<br>
> -diff --git a/iconv.m4 b/iconv.m4<br>
> -index 4e37363..35f54bd 100644<br>
> ---- a/iconv.m4<br>
> -+++ b/iconv.m4<br>
> -@@ -165,6 +165,7 @@ AC_DEFUN([AM_ICONV_LINK],<br>
> - }<br>
> - }<br>
> - #endif<br>
> -+#if 0<br>
> - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is<br>
> - provided. */<br>
> - if (/* Try standardized names. */<br>
> -@@ -176,6 +177,7 @@ AC_DEFUN([AM_ICONV_LINK],<br>
> - /* Try HP-UX names. */<br>
> - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))<br>
> - result |= 16;<br>
> -+#endif<br>
> - return result;<br>
> - ]])],<br>
> - [am_cv_func_iconv_works=yes], ,<br>
> ---<br>
> -2.0.1<br>
> -<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/aclocal.tgz b/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/aclocal.tgz<br>
> deleted file mode 100644<br>
> index 9b2d1f561d734df608c9c7a6e29e08131296a5fd..0000000000000000000000000000000000000000<br>
> GIT binary patch<br>
> literal 0<br>
> HcmV?d00001<br>
> <br>
> literal 40014<br>
> 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
> <br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/COPYING b/meta/recipes-core/gettext/gettext-minimal-0.20.1/COPYING<br>
> similarity index 100%<br>
> rename from meta/recipes-core/gettext/gettext-minimal-0.19.8.1/COPYING<br>
> rename to meta/recipes-core/gettext/gettext-minimal-0.20.1/COPYING<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/<a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a> b/meta/recipes-core/gettext/gettext-minimal-0.20.1/<a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a><br>
> similarity index 78%<br>
> rename from meta/recipes-core/gettext/gettext-minimal-0.19.8.1/<a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a><br>
> rename to meta/recipes-core/gettext/gettext-minimal-0.20.1/<a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a><br>
> index 38c293d2ed2..fdb6ad35881 100644<br>
> --- a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/<a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a><br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/<a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a><br>
> @@ -1,13 +1,14 @@<br>
> # Makefile for PO directory in any package using GNU gettext.<br>
> -# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <<a href="mailto:drepper@gnu.ai.mit.edu" target="_blank">drepper@gnu.ai.mit.edu</a>><br>
> +# Copyright (C) 1995-2000 Ulrich Drepper <<a href="mailto:drepper@gnu.ai.mit.edu" target="_blank">drepper@gnu.ai.mit.edu</a>><br>
> +# Copyright (C) 2000-2019 Free Software Foundation, Inc.<br>
> #<br>
> # Copying and distribution of this file, with or without modification,<br>
> # are permitted in any medium without royalty provided the copyright<br>
> # notice and this notice are preserved. This file is offered as-is,<br>
> # without any warranty.<br>
> #<br>
> -# Origin: gettext-0.19.8<br>
> -GETTEXT_MACRO_VERSION = 0.19<br>
> +# Origin: gettext-0.20<br>
> +GETTEXT_MACRO_VERSION = 0.20<br>
> <br>
> PACKAGE = @PACKAGE@<br>
> VERSION = @VERSION@<br>
> @@ -52,16 +53,13 @@ GMSGFMT_ = @GMSGFMT@<br>
> GMSGFMT_no = @GMSGFMT@<br>
> GMSGFMT_yes = @GMSGFMT_015@<br>
> GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))<br>
> -MSGFMT_ = @MSGFMT@<br>
> -MSGFMT_no = @MSGFMT@<br>
> -MSGFMT_yes = @MSGFMT_015@<br>
> -MSGFMT = $(MSGFMT_$(USE_MSGCTXT))<br>
> XGETTEXT_ = @XGETTEXT@<br>
> XGETTEXT_no = @XGETTEXT@<br>
> XGETTEXT_yes = @XGETTEXT_015@<br>
> XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))<br>
> -MSGMERGE = msgmerge<br>
> +MSGMERGE = @MSGMERGE@<br>
> MSGMERGE_UPDATE = @MSGMERGE@ --update<br>
> +MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@<br>
> MSGINIT = msginit<br>
> MSGCONV = msgconv<br>
> MSGFILTER = msgfilter<br>
> @@ -93,17 +91,32 @@ DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))<br>
> # Makevars gets inserted here. (Don't remove this line!)<br>
> <br>
> .SUFFIXES:<br>
> -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update<br>
> -<br>
> -.po.mo:<br>
> - @echo "$(MSGFMT) -c -o $@ $<"; \<br>
> - $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@<br>
> -<br>
> -.po.gmo:<br>
> +.SUFFIXES: .po .gmo .sed .sin .nop .po-create .po-update<br>
> +<br>
> +# The .pot file, stamp-po, .po files, and .gmo files appear in release tarballs.<br>
> +# The GNU Coding Standards say in<br>
> +# <<a href="https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html" rel="noreferrer" target="_blank">https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html</a>>:<br>
> +# "GNU distributions usually contain some files which are not source files<br>
> +# ... . Since these files normally appear in the source directory, they<br>
> +# should always appear in the source directory, not in the build directory.<br>
> +# So Makefile rules to update them should put the updated files in the<br>
> +# source directory."<br>
> +# Therefore we put these files in the source directory, not the build directory.<br>
> +<br>
> +# During .po -> .gmo conversion, take into account the most recent changes to<br>
> +# the .pot file. This eliminates the need to update the .po files when the<br>
> +# .pot file has changed, which would be troublesome if the .po files are put<br>
> +# under version control.<br>
> +.po.gmo: $(srcdir)/$(DOMAIN).pot<br>
> @lang=`echo $* | sed -e 's,.*/,,'`; \<br>
> test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \<br>
> - echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \<br>
> - cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo<br>
> + echo "$${cdcmd}rm -f $${lang}.gmo && $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.1po && rm -f $${lang}.1po"; \<br>
> + cd $(srcdir) && \<br>
> + rm -f $${lang}.gmo && \<br>
> + $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && \<br>
> + $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.1po && \<br>
> + mv t-$${lang}.gmo $${lang}.gmo && \<br>
> + rm -f $${lang}.1po<br>
> <br>
> .sin.sed:<br>
> sed -e '/^#/d' $< > t-$@<br>
> @@ -112,7 +125,7 @@ DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))<br>
> <br>
> all: all-@USE_NLS@<br>
> <br>
> -all-yes: stamp-po<br>
> +all-yes: $(srcdir)/stamp-po<br>
> all-no:<br>
> <br>
> # Ensure that the gettext macros and this <a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a> are in sync.<br>
> @@ -126,24 +139,24 @@ CHECK_MACRO_VERSION = \<br>
> # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because<br>
> # we don't want to bother translators with empty POT files). We assume that<br>
> # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.<br>
> -# In this case, stamp-po is a nop (i.e. a phony target).<br>
> -<br>
> -# stamp-po is a timestamp denoting the last time at which the CATALOGS have<br>
> -# been loosely updated. Its purpose is that when a developer or translator<br>
> -# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,<br>
> -# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent<br>
> -# invocations of "make" will do nothing. This timestamp would not be necessary<br>
> -# if updating the $(CATALOGS) would always touch them; however, the rule for<br>
> -# $(POFILES) has been designed to not touch files that don't need to be<br>
> -# changed.<br>
> -stamp-po: $(srcdir)/$(DOMAIN).pot<br>
> +# In this case, $(srcdir)/stamp-po is a nop (i.e. a phony target).<br>
> +<br>
> +# $(srcdir)/stamp-po is a timestamp denoting the last time at which the CATALOGS<br>
> +# have been loosely updated. Its purpose is that when a developer or translator<br>
> +# checks out the package from a version control system, and the $(DOMAIN).pot<br>
> +# file is not under version control, "make" will update the $(DOMAIN).pot and<br>
> +# the $(CATALOGS), but subsequent invocations of "make" will do nothing. This<br>
> +# timestamp would not be necessary if updating the $(CATALOGS) would always<br>
> +# touch them; however, the rule for $(POFILES) has been designed to not touch<br>
> +# files that don't need to be changed.<br>
> +$(srcdir)/stamp-po: $(srcdir)/$(DOMAIN).pot<br>
> @$(CHECK_MACRO_VERSION)<br>
> test ! -f $(srcdir)/$(DOMAIN).pot || \<br>
> test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)<br>
> @test ! -f $(srcdir)/$(DOMAIN).pot || { \<br>
> - echo "touch stamp-po" && \<br>
> - echo timestamp > stamp-poT && \<br>
> - mv stamp-poT stamp-po; \<br>
> + echo "touch $(srcdir)/stamp-po" && \<br>
> + echo timestamp > $(srcdir)/stamp-poT && \<br>
> + mv $(srcdir)/stamp-poT $(srcdir)/stamp-po; \<br>
> }<br>
> <br>
> # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',<br>
> @@ -159,11 +172,9 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed<br>
> package_gnu="$(PACKAGE_GNU)"; \<br>
> test -n "$$package_gnu" || { \<br>
> if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \<br>
> - LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \<br>
> - -size -10000000c -exec grep 'GNU @PACKAGE@' \<br>
> - /dev/null '{}' ';' 2>/dev/null; \<br>
> + LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep -i 'GNU @PACKAGE@' /dev/null '{}' ';' 2>/dev/null; \<br>
> else \<br>
> - LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \<br>
> + LC_ALL=C grep -i 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \<br>
> fi; \<br>
> } | grep -v 'libtool:' >/dev/null; then \<br>
> package_gnu=yes; \<br>
> @@ -184,26 +195,29 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed<br>
> case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \<br>
> '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \<br>
> $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \<br>
> - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \<br>
> + --add-comments=TRANSLATORS: \<br>
> --files-from=$(srcdir)/POTFILES.in \<br>
> --copyright-holder='$(COPYRIGHT_HOLDER)' \<br>
> --msgid-bugs-address="$$msgid_bugs_address" \<br>
> + $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \<br>
> ;; \<br>
> *) \<br>
> $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \<br>
> - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \<br>
> + --add-comments=TRANSLATORS: \<br>
> --files-from=$(srcdir)/POTFILES.in \<br>
> --copyright-holder='$(COPYRIGHT_HOLDER)' \<br>
> --package-name="$${package_prefix}@PACKAGE@" \<br>
> --package-version='@VERSION@' \<br>
> --msgid-bugs-address="$$msgid_bugs_address" \<br>
> + $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \<br>
> ;; \<br>
> esac<br>
> test ! -f $(DOMAIN).po || { \<br>
> if test -f $(srcdir)/$(DOMAIN).pot-header; then \<br>
> sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \<br>
> - cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \<br>
> - rm -f $(DOMAIN).1po; \<br>
> + cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po && \<br>
> + rm -f $(DOMAIN).1po \<br>
> + || exit 1; \<br>
> fi; \<br>
> if test -f $(srcdir)/$(DOMAIN).pot; then \<br>
> sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \<br>
> @@ -228,17 +242,19 @@ $(srcdir)/$(DOMAIN).pot:<br>
> # This target rebuilds a PO file if $(DOMAIN).pot has changed.<br>
> # Note that a PO file is not touched if it doesn't need to be changed.<br>
> $(POFILES): $(POFILESDEPS)<br>
> + @test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot<br>
> @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \<br>
> if test -f "$(srcdir)/$${lang}.po"; then \<br>
> - test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \<br>
> test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \<br>
> - echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \<br>
> + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \<br>
> cd $(srcdir) \<br>
> - && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \<br>
> - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \<br>
> + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \<br>
> + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \<br>
> $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \<br>
> + 0.1[6-7] | 0.1[6-7].*) \<br>
> + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \<br>
> *) \<br>
> - $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \<br>
> + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \<br>
> esac; \<br>
> }; \<br>
> else \<br>
> @@ -373,28 +389,30 @@ check: all<br>
> <br>
> info dvi ps pdf html tags TAGS ctags CTAGS ID:<br>
> <br>
> +install-dvi install-ps install-pdf install-html:<br>
> +<br>
> mostlyclean:<br>
> rm -f remove-potcdate.sed<br>
> - rm -f stamp-poT<br>
> + rm -f $(srcdir)/stamp-poT<br>
> rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po<br>
> rm -fr *.o<br>
> <br>
> clean: mostlyclean<br>
> <br>
> distclean: clean<br>
> - rm -f Makefile Makefile.in POTFILES *.mo<br>
> + rm -f Makefile Makefile.in POTFILES<br>
> <br>
> maintainer-clean: distclean<br>
> @echo "This command is intended for maintainers to use;"<br>
> @echo "it deletes files that may require special tools to rebuild."<br>
> - rm -f stamp-po $(GMOFILES)<br>
> + rm -f $(srcdir)/$(DOMAIN).pot $(srcdir)/stamp-po $(GMOFILES)<br>
> <br>
> distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)<br>
> dist distdir:<br>
> test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)<br>
> @$(MAKE) dist2<br>
> # This is a separate target because 'update-po' must be executed before.<br>
> -dist2: stamp-po $(DISTFILES)<br>
> +dist2: $(srcdir)/stamp-po $(DISTFILES)<br>
> dists="$(DISTFILES)"; \<br>
> if test "$(PACKAGE)" = "gettext-tools"; then \<br>
> dists="$$dists Makevars.template"; \<br>
> @@ -439,13 +457,15 @@ update-po: Makefile<br>
> tmpdir=`pwd`; \<br>
> echo "$$lang:"; \<br>
> test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \<br>
> - echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \<br>
> + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \<br>
> cd $(srcdir); \<br>
> if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \<br>
> - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \<br>
> + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \<br>
> $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \<br>
> + 0.1[6-7] | 0.1[6-7].*) \<br>
> + $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \<br>
> *) \<br>
> - $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \<br>
> + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \<br>
> esac; \<br>
> }; then \<br>
> if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/gettext.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/gettext.m4<br>
> new file mode 100644<br>
> index 00000000000..e7832418ea1<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/gettext.m4<br>
> @@ -0,0 +1,386 @@<br>
> +# gettext.m4 serial 70 (gettext-0.20)<br>
> +dnl Copyright (C) 1995-2014, 2016, 2018 Free Software Foundation, Inc.<br>
> +dnl This file is free software; the Free Software Foundation<br>
> +dnl gives unlimited permission to copy and/or distribute it,<br>
> +dnl with or without modifications, as long as this notice is preserved.<br>
> +dnl<br>
> +dnl This file can be used in projects which are not available under<br>
> +dnl the GNU General Public License or the GNU Library General Public<br>
> +dnl License but which still want to provide support for the GNU gettext<br>
> +dnl functionality.<br>
> +dnl Please note that the actual code of the GNU gettext library is covered<br>
> +dnl by the GNU Library General Public License, and the rest of the GNU<br>
> +dnl gettext package is covered by the GNU General Public License.<br>
> +dnl They are *not* in the public domain.<br>
> +<br>
> +dnl Authors:<br>
> +dnl Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 1995-2000.<br>
> +dnl Bruno Haible <<a href="mailto:haible@clisp.cons.org" target="_blank">haible@clisp.cons.org</a>>, 2000-2006, 2008-2010.<br>
> +<br>
> +dnl Macro to add for using GNU gettext.<br>
> +<br>
> +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).<br>
> +dnl INTLSYMBOL must be one of 'external', 'use-libtool'.<br>
> +dnl INTLSYMBOL should be 'external' for packages other than GNU gettext, and<br>
> +dnl 'use-libtool' for the packages 'gettext-runtime' and 'gettext-tools'.<br>
> +dnl If INTLSYMBOL is 'use-libtool', then a libtool library<br>
> +dnl $(top_builddir)/intl/<a href="http://libintl.la" rel="noreferrer" target="_blank">libintl.la</a> will be created (shared and/or static,<br>
> +dnl depending on --{enable,disable}-{shared,static} and on the presence of<br>
> +dnl AM-DISABLE-SHARED).<br>
> +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext<br>
> +dnl implementations (in libc or libintl) without the ngettext() function<br>
> +dnl will be ignored. If NEEDSYMBOL is specified and is<br>
> +dnl 'need-formatstring-macros', then GNU gettext implementations that don't<br>
> +dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.<br>
> +dnl INTLDIR is used to find the intl libraries. If empty,<br>
> +dnl the value '$(top_builddir)/intl/' is used.<br>
> +dnl<br>
> +dnl The result of the configuration is one of three cases:<br>
> +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled<br>
> +dnl and used.<br>
> +dnl Catalog format: GNU --> install in $(datadir)<br>
> +dnl Catalog extension: .mo after installation, .gmo in source tree<br>
> +dnl 2) GNU gettext has been found in the system's C library.<br>
> +dnl Catalog format: GNU --> install in $(datadir)<br>
> +dnl Catalog extension: .mo after installation, .gmo in source tree<br>
> +dnl 3) No internationalization, always use English msgid.<br>
> +dnl Catalog format: none<br>
> +dnl Catalog extension: none<br>
> +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.<br>
> +dnl The use of .gmo is historical (it was needed to avoid overwriting the<br>
> +dnl GNU format catalogs when building on a platform with an X/Open gettext),<br>
> +dnl but we keep it in order not to force irrelevant filename changes on the<br>
> +dnl maintainers.<br>
> +dnl<br>
> +AC_DEFUN([AM_GNU_GETTEXT],<br>
> +[<br>
> + dnl Argument checking.<br>
> + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [use-libtool], ,<br>
> + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT<br>
> +])])])])<br>
> + ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],<br>
> + [errprint([ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported.<br>
> +])])<br>
> + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,<br>
> + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT<br>
> +])])])])<br>
> + define([gt_included_intl],<br>
> + ifelse([$1], [external], [no], [yes]))<br>
> + gt_NEEDS_INIT<br>
> + AM_GNU_GETTEXT_NEED([$2])<br>
> +<br>
> + AC_REQUIRE([AM_PO_SUBDIRS])dnl<br>
> + ifelse(gt_included_intl, yes, [<br>
> + AC_REQUIRE([AM_INTL_SUBDIR])dnl<br>
> + ])<br>
> +<br>
> + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.<br>
> + AC_REQUIRE([AC_LIB_PREPARE_PREFIX])<br>
> + AC_REQUIRE([AC_LIB_RPATH])<br>
> +<br>
> + dnl Sometimes libintl requires libiconv, so first search for libiconv.<br>
> + dnl Ideally we would do this search only after the<br>
> + dnl if test "$USE_NLS" = "yes"; then<br>
> + dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then<br>
> + dnl tests. But if <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> invokes AM_ICONV after AM_GNU_GETTEXT<br>
> + dnl the configure script would need to contain the same shell code<br>
> + dnl again, outside any 'if'. There are two solutions:<br>
> + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.<br>
> + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.<br>
> + dnl Since AC_PROVIDE_IFELSE is not documented, we avoid it.<br>
> + ifelse(gt_included_intl, yes, , [<br>
> + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])<br>
> + ])<br>
> +<br>
> + dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.<br>
> + gt_INTL_MACOSX<br>
> +<br>
> + dnl Set USE_NLS.<br>
> + AC_REQUIRE([AM_NLS])<br>
> +<br>
> + ifelse(gt_included_intl, yes, [<br>
> + BUILD_INCLUDED_LIBINTL=no<br>
> + USE_INCLUDED_LIBINTL=no<br>
> + ])<br>
> + LIBINTL=<br>
> + LTLIBINTL=<br>
> + POSUB=<br>
> +<br>
> + dnl Add a version number to the cache macros.<br>
> + case " $gt_needs " in<br>
> + *" need-formatstring-macros "*) gt_api_version=3 ;;<br>
> + *" need-ngettext "*) gt_api_version=2 ;;<br>
> + *) gt_api_version=1 ;;<br>
> + esac<br>
> + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"<br>
> + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"<br>
> +<br>
> + dnl If we use NLS figure out what method<br>
> + if test "$USE_NLS" = "yes"; then<br>
> + gt_use_preinstalled_gnugettext=no<br>
> + ifelse(gt_included_intl, yes, [<br>
> + AC_MSG_CHECKING([whether included gettext is requested])<br>
> + AC_ARG_WITH([included-gettext],<br>
> + [ --with-included-gettext use the GNU gettext library included here],<br>
> + nls_cv_force_use_gnu_gettext=$withval,<br>
> + nls_cv_force_use_gnu_gettext=no)<br>
> + AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])<br>
> +<br>
> + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"<br>
> + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then<br>
> + ])<br>
> + dnl User does not insist on using GNU NLS library. Figure out what<br>
> + dnl to use. If GNU gettext is available we use this. Else we have<br>
> + dnl to fall back to GNU NLS library.<br>
> +<br>
> + if test $gt_api_version -ge 3; then<br>
> + gt_revision_test_code='<br>
> +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION<br>
> +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)<br>
> +#endif<br>
> +changequote(,)dnl<br>
> +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];<br>
> +changequote([,])dnl<br>
> +'<br>
> + else<br>
> + gt_revision_test_code=<br>
> + fi<br>
> + if test $gt_api_version -ge 2; then<br>
> + gt_expression_test_code=' + * ngettext ("", "", 0)'<br>
> + else<br>
> + gt_expression_test_code=<br>
> + fi<br>
> +<br>
> + AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],<br>
> + [AC_LINK_IFELSE(<br>
> + [AC_LANG_PROGRAM(<br>
> + [[<br>
> +#include <libintl.h><br>
> +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION<br>
> +extern int _nl_msg_cat_cntr;<br>
> +extern int *_nl_domain_bindings;<br>
> +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)<br>
> +#else<br>
> +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0<br>
> +#endif<br>
> +$gt_revision_test_code<br>
> + ]],<br>
> + [[<br>
> +bindtextdomain ("", "");<br>
> +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION<br>
> + ]])],<br>
> + [eval "$gt_func_gnugettext_libc=yes"],<br>
> + [eval "$gt_func_gnugettext_libc=no"])])<br>
> +<br>
> + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then<br>
> + dnl Sometimes libintl requires libiconv, so first search for libiconv.<br>
> + ifelse(gt_included_intl, yes, , [<br>
> + AM_ICONV_LINK<br>
> + ])<br>
> + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL<br>
> + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])<br>
> + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL<br>
> + dnl even if libiconv doesn't exist.<br>
> + AC_LIB_LINKFLAGS_BODY([intl])<br>
> + AC_CACHE_CHECK([for GNU gettext in libintl],<br>
> + [$gt_func_gnugettext_libintl],<br>
> + [gt_save_CPPFLAGS="$CPPFLAGS"<br>
> + CPPFLAGS="$CPPFLAGS $INCINTL"<br>
> + gt_save_LIBS="$LIBS"<br>
> + LIBS="$LIBS $LIBINTL"<br>
> + dnl Now see whether libintl exists and does not depend on libiconv.<br>
> + AC_LINK_IFELSE(<br>
> + [AC_LANG_PROGRAM(<br>
> + [[<br>
> +#include <libintl.h><br>
> +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION<br>
> +extern int _nl_msg_cat_cntr;<br>
> +extern<br>
> +#ifdef __cplusplus<br>
> +"C"<br>
> +#endif<br>
> +const char *_nl_expand_alias (const char *);<br>
> +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))<br>
> +#else<br>
> +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0<br>
> +#endif<br>
> +$gt_revision_test_code<br>
> + ]],<br>
> + [[<br>
> +bindtextdomain ("", "");<br>
> +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION<br>
> + ]])],<br>
> + [eval "$gt_func_gnugettext_libintl=yes"],<br>
> + [eval "$gt_func_gnugettext_libintl=no"])<br>
> + dnl Now see whether libintl exists and depends on libiconv.<br>
> + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then<br>
> + LIBS="$LIBS $LIBICONV"<br>
> + AC_LINK_IFELSE(<br>
> + [AC_LANG_PROGRAM(<br>
> + [[<br>
> +#include <libintl.h><br>
> +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION<br>
> +extern int _nl_msg_cat_cntr;<br>
> +extern<br>
> +#ifdef __cplusplus<br>
> +"C"<br>
> +#endif<br>
> +const char *_nl_expand_alias (const char *);<br>
> +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))<br>
> +#else<br>
> +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0<br>
> +#endif<br>
> +$gt_revision_test_code<br>
> + ]],<br>
> + [[<br>
> +bindtextdomain ("", "");<br>
> +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION<br>
> + ]])],<br>
> + [LIBINTL="$LIBINTL $LIBICONV"<br>
> + LTLIBINTL="$LTLIBINTL $LTLIBICONV"<br>
> + eval "$gt_func_gnugettext_libintl=yes"<br>
> + ])<br>
> + fi<br>
> + CPPFLAGS="$gt_save_CPPFLAGS"<br>
> + LIBS="$gt_save_LIBS"])<br>
> + fi<br>
> +<br>
> + dnl If an already present or preinstalled GNU gettext() is found,<br>
> + dnl use it. But if this macro is used in GNU gettext, and GNU<br>
> + dnl gettext is already preinstalled in libintl, we update this<br>
> + dnl libintl. (Cf. the install rule in intl/Makefile.in.)<br>
> + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \<br>
> + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \<br>
> + && test "$PACKAGE" != gettext-runtime \<br>
> + && test "$PACKAGE" != gettext-tools; }; then<br>
> + gt_use_preinstalled_gnugettext=yes<br>
> + else<br>
> + dnl Reset the values set by searching for libintl.<br>
> + LIBINTL=<br>
> + LTLIBINTL=<br>
> + INCINTL=<br>
> + fi<br>
> +<br>
> + ifelse(gt_included_intl, yes, [<br>
> + if test "$gt_use_preinstalled_gnugettext" != "yes"; then<br>
> + dnl GNU gettext is not found in the C library.<br>
> + dnl Fall back on included GNU gettext library.<br>
> + nls_cv_use_gnu_gettext=yes<br>
> + fi<br>
> + fi<br>
> +<br>
> + if test "$nls_cv_use_gnu_gettext" = "yes"; then<br>
> + dnl Mark actions used to generate GNU NLS library.<br>
> + BUILD_INCLUDED_LIBINTL=yes<br>
> + USE_INCLUDED_LIBINTL=yes<br>
> + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/<a href="http://libintl.la" rel="noreferrer" target="_blank">libintl.la</a> $LIBICONV $LIBTHREAD"<br>
> + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/<a href="http://libintl.la" rel="noreferrer" target="_blank">libintl.la</a> $LTLIBICONV $LTLIBTHREAD"<br>
> + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`<br>
> + fi<br>
> +<br>
> + CATOBJEXT=<br>
> + if test "$gt_use_preinstalled_gnugettext" = "yes" \<br>
> + || test "$nls_cv_use_gnu_gettext" = "yes"; then<br>
> + dnl Mark actions to use GNU gettext tools.<br>
> + CATOBJEXT=.gmo<br>
> + fi<br>
> + ])<br>
> +<br>
> + if test -n "$INTL_MACOSX_LIBS"; then<br>
> + if test "$gt_use_preinstalled_gnugettext" = "yes" \<br>
> + || test "$nls_cv_use_gnu_gettext" = "yes"; then<br>
> + dnl Some extra flags are needed during linking.<br>
> + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"<br>
> + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"<br>
> + fi<br>
> + fi<br>
> +<br>
> + if test "$gt_use_preinstalled_gnugettext" = "yes" \<br>
> + || test "$nls_cv_use_gnu_gettext" = "yes"; then<br>
> + AC_DEFINE([ENABLE_NLS], [1],<br>
> + [Define to 1 if translation of program messages to the user's native language<br>
> + is requested.])<br>
> + else<br>
> + USE_NLS=no<br>
> + fi<br>
> + fi<br>
> +<br>
> + AC_MSG_CHECKING([whether to use NLS])<br>
> + AC_MSG_RESULT([$USE_NLS])<br>
> + if test "$USE_NLS" = "yes"; then<br>
> + AC_MSG_CHECKING([where the gettext function comes from])<br>
> + if test "$gt_use_preinstalled_gnugettext" = "yes"; then<br>
> + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then<br>
> + gt_source="external libintl"<br>
> + else<br>
> + gt_source="libc"<br>
> + fi<br>
> + else<br>
> + gt_source="included intl directory"<br>
> + fi<br>
> + AC_MSG_RESULT([$gt_source])<br>
> + fi<br>
> +<br>
> + if test "$USE_NLS" = "yes"; then<br>
> +<br>
> + if test "$gt_use_preinstalled_gnugettext" = "yes"; then<br>
> + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then<br>
> + AC_MSG_CHECKING([how to link with libintl])<br>
> + AC_MSG_RESULT([$LIBINTL])<br>
> + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])<br>
> + fi<br>
> +<br>
> + dnl For backward compatibility. Some packages may be using this.<br>
> + AC_DEFINE([HAVE_GETTEXT], [1],<br>
> + [Define if the GNU gettext() function is already present or preinstalled.])<br>
> + AC_DEFINE([HAVE_DCGETTEXT], [1],<br>
> + [Define if the GNU dcgettext() function is already present or preinstalled.])<br>
> + fi<br>
> +<br>
> + dnl We need to process the po/ directory.<br>
> + POSUB=po<br>
> + fi<br>
> +<br>
> + ifelse(gt_included_intl, yes, [<br>
> + dnl In GNU gettext we have to set BUILD_INCLUDED_LIBINTL to 'yes'<br>
> + dnl because some of the testsuite requires it.<br>
> + BUILD_INCLUDED_LIBINTL=yes<br>
> +<br>
> + dnl Make all variables we use known to autoconf.<br>
> + AC_SUBST([BUILD_INCLUDED_LIBINTL])<br>
> + AC_SUBST([USE_INCLUDED_LIBINTL])<br>
> + AC_SUBST([CATOBJEXT])<br>
> + ])<br>
> +<br>
> + dnl For backward compatibility. Some Makefiles may be using this.<br>
> + INTLLIBS="$LIBINTL"<br>
> + AC_SUBST([INTLLIBS])<br>
> +<br>
> + dnl Make all documented variables known to autoconf.<br>
> + AC_SUBST([LIBINTL])<br>
> + AC_SUBST([LTLIBINTL])<br>
> + AC_SUBST([POSUB])<br>
> +])<br>
> +<br>
> +<br>
> +dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.<br>
> +m4_define([gt_NEEDS_INIT],<br>
> +[<br>
> + m4_divert_text([DEFAULTS], [gt_needs=])<br>
> + m4_define([gt_NEEDS_INIT], [])<br>
> +])<br>
> +<br>
> +<br>
> +dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])<br>
> +AC_DEFUN([AM_GNU_GETTEXT_NEED],<br>
> +[<br>
> + m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])<br>
> +])<br>
> +<br>
> +<br>
> +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])<br>
> +AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])<br>
> +<br>
> +<br>
> +dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version])<br>
> +AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], [])<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/host-cpu-c-abi.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/host-cpu-c-abi.m4<br>
> new file mode 100644<br>
> index 00000000000..4407296d084<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/host-cpu-c-abi.m4<br>
> @@ -0,0 +1,644 @@<br>
> +# host-cpu-c-abi.m4 serial 11<br>
> +dnl Copyright (C) 2002-2019 Free Software Foundation, Inc.<br>
> +dnl This file is free software; the Free Software Foundation<br>
> +dnl gives unlimited permission to copy and/or distribute it,<br>
> +dnl with or without modifications, as long as this notice is preserved.<br>
> +<br>
> +dnl From Bruno Haible and Sam Steingold.<br>
> +<br>
> +dnl Sets the HOST_CPU variable to the canonical name of the CPU.<br>
> +dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its<br>
> +dnl C language ABI (application binary interface).<br>
> +dnl Also defines __${HOST_CPU}__ and __${HOST_CPU_C_ABI}__ as C macros in<br>
> +dnl config.h.<br>
> +dnl<br>
> +dnl This canonical name can be used to select a particular assembly language<br>
> +dnl source file that will interoperate with C code on the given host.<br>
> +dnl<br>
> +dnl For example:<br>
> +dnl * 'i386' and 'sparc' are different canonical names, because code for i386<br>
> +dnl will not run on SPARC CPUs and vice versa. They have different<br>
> +dnl instruction sets.<br>
> +dnl * 'sparc' and 'sparc64' are different canonical names, because code for<br>
> +dnl 'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code<br>
> +dnl contains 32-bit instructions, whereas 'sparc64' code contains 64-bit<br>
> +dnl instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit<br>
> +dnl mode, but not both.<br>
> +dnl * 'mips' and 'mipsn32' are different canonical names, because they use<br>
> +dnl different argument passing and return conventions for C functions, and<br>
> +dnl although the instruction set of 'mips' is a large subset of the<br>
> +dnl instruction set of 'mipsn32'.<br>
> +dnl * 'mipsn32' and 'mips64' are different canonical names, because they use<br>
> +dnl different sizes for the C types like 'int' and 'void *', and although<br>
> +dnl the instruction sets of 'mipsn32' and 'mips64' are the same.<br>
> +dnl * The same canonical name is used for different endiannesses. You can<br>
> +dnl determine the endianness through preprocessor symbols:<br>
> +dnl - 'arm': test __ARMEL__.<br>
> +dnl - 'mips', 'mipsn32', 'mips64': test _MIPSEB vs. _MIPSEL.<br>
> +dnl - 'powerpc64': test _BIG_ENDIAN vs. _LITTLE_ENDIAN.<br>
> +dnl * The same name 'i386' is used for CPUs of type i386, i486, i586<br>
> +dnl (Pentium), AMD K7, Pentium II, Pentium IV, etc., because<br>
> +dnl - Instructions that do not exist on all of these CPUs (cmpxchg,<br>
> +dnl MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your<br>
> +dnl assembly language source files use such instructions, you will<br>
> +dnl need to make the distinction.<br>
> +dnl - Speed of execution of the common instruction set is reasonable across<br>
> +dnl the entire family of CPUs. If you have assembly language source files<br>
> +dnl that are optimized for particular CPU types (like GNU gmp has), you<br>
> +dnl will need to make the distinction.<br>
> +dnl See <<a href="https://en.wikipedia.org/wiki/X86_instruction_listings" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/X86_instruction_listings</a>>.<br>
> +AC_DEFUN([gl_HOST_CPU_C_ABI],<br>
> +[<br>
> + AC_REQUIRE([AC_CANONICAL_HOST])<br>
> + AC_REQUIRE([gl_C_ASM])<br>
> + AC_CACHE_CHECK([host CPU and C ABI], [gl_cv_host_cpu_c_abi],<br>
> + [case "$host_cpu" in<br>
> +<br>
> +changequote(,)dnl<br>
> + i[4567]86 )<br>
> +changequote([,])dnl<br>
> + gl_cv_host_cpu_c_abi=i386<br>
> + ;;<br>
> +<br>
> + x86_64 )<br>
> + # On x86_64 systems, the C compiler may be generating code in one of<br>
> + # these ABIs:<br>
> + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.<br>
> + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64<br>
> + # with native Windows (mingw, MSVC).<br>
> + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.<br>
> + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if (defined __x86_64__ || defined __amd64__ \<br>
> + || defined _M_X64 || defined _M_AMD64)<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __ILP32__ || defined _ILP32<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi=x86_64-x32],<br>
> + [gl_cv_host_cpu_c_abi=x86_64])],<br>
> + [gl_cv_host_cpu_c_abi=i386])<br>
> + ;;<br>
> +<br>
> +changequote(,)dnl<br>
> + alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] )<br>
> +changequote([,])dnl<br>
> + gl_cv_host_cpu_c_abi=alpha<br>
> + ;;<br>
> +<br>
> + arm* | aarch64 )<br>
> + # Assume arm with EABI.<br>
> + # On arm64 systems, the C compiler may be generating code in one of<br>
> + # these ABIs:<br>
> + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.<br>
> + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.<br>
> + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#ifdef __aarch64__<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __ILP32__ || defined _ILP32<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi=arm64-ilp32],<br>
> + [gl_cv_host_cpu_c_abi=arm64])],<br>
> + [# Don't distinguish little-endian and big-endian arm, since they<br>
> + # don't require different machine code for simple operations and<br>
> + # since the user can distinguish them through the preprocessor<br>
> + # defines __ARMEL__ vs. __ARMEB__.<br>
> + # But distinguish arm which passes floating-point arguments and<br>
> + # return values in integer registers (r0, r1, ...) - this is<br>
> + # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which<br>
> + # passes them in float registers (s0, s1, ...) and double registers<br>
> + # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer<br>
> + # sets the preprocessor defines __ARM_PCS (for the first case) and<br>
> + # __ARM_PCS_VFP (for the second case), but older GCC does not.<br>
> + echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c<br>
> + # Look for a reference to the register d0 in the .s file.<br>
> + AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1<br>
> + if LC_ALL=C grep 'd0,' conftest.$gl_asmext >/dev/null; then<br>
> + gl_cv_host_cpu_c_abi=armhf<br>
> + else<br>
> + gl_cv_host_cpu_c_abi=arm<br>
> + fi<br>
> + rm -f conftest*<br>
> + ])<br>
> + ;;<br>
> +<br>
> + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )<br>
> + # On hppa, the C compiler may be generating 32-bit code or 64-bit<br>
> + # code. In the latter case, it defines _LP64 and __LP64__.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#ifdef __LP64__<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi=hppa64],<br>
> + [gl_cv_host_cpu_c_abi=hppa])<br>
> + ;;<br>
> +<br>
> + ia64* )<br>
> + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or<br>
> + # 32-bit code. In the latter case, it defines _ILP32.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#ifdef _ILP32<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi=ia64-ilp32],<br>
> + [gl_cv_host_cpu_c_abi=ia64])<br>
> + ;;<br>
> +<br>
> + mips* )<br>
> + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this<br>
> + # at 32.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi=mips64],<br>
> + [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but<br>
> + # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIN32.<br>
> + # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but<br>
> + # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIO32.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if (_MIPS_SIM == _ABIN32)<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi=mipsn32],<br>
> + [gl_cv_host_cpu_c_abi=mips])])<br>
> + ;;<br>
> +<br>
> + powerpc* )<br>
> + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.<br>
> + # No need to distinguish them here; the caller may distinguish<br>
> + # them based on the OS.<br>
> + # On powerpc64 systems, the C compiler may still be generating<br>
> + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may<br>
> + # be generating 64-bit code.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __powerpc64__ || defined _ARCH_PPC64<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [# On powerpc64, there are two ABIs on Linux: The AIX compatible<br>
> + # one and the ELFv2 one. The latter defines _CALL_ELF=2.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined _CALL_ELF && _CALL_ELF == 2<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi=powerpc64-elfv2],<br>
> + [gl_cv_host_cpu_c_abi=powerpc64])<br>
> + ],<br>
> + [gl_cv_host_cpu_c_abi=powerpc])<br>
> + ;;<br>
> +<br>
> + rs6000 )<br>
> + gl_cv_host_cpu_c_abi=powerpc<br>
> + ;;<br>
> +<br>
> + riscv32 | riscv64 )<br>
> + # There are 2 architectures (with variants): rv32* and rv64*.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if __riscv_xlen == 64<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [cpu=riscv64],<br>
> + [cpu=riscv32])<br>
> + # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.<br>
> + # Size of 'long' and 'void *':<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __LP64__<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [main_abi=lp64],<br>
> + [main_abi=ilp32])<br>
> + # Float ABIs:<br>
> + # __riscv_float_abi_double:<br>
> + # 'float' and 'double' are passed in floating-point registers.<br>
> + # __riscv_float_abi_single:<br>
> + # 'float' are passed in floating-point registers.<br>
> + # __riscv_float_abi_soft:<br>
> + # No values are passed in floating-point registers.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __riscv_float_abi_double<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [float_abi=d],<br>
> + [AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __riscv_float_abi_single<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [float_abi=f],<br>
> + [float_abi=''])<br>
> + ])<br>
> + gl_cv_host_cpu_c_abi="${cpu}-${main_abi}${float_abi}"<br>
> + ;;<br>
> +<br>
> + s390* )<br>
> + # On s390x, the C compiler may be generating 64-bit (= s390x) code<br>
> + # or 31-bit (= s390) code.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __LP64__ || defined __s390x__<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi=s390x],<br>
> + [gl_cv_host_cpu_c_abi=s390])<br>
> + ;;<br>
> +<br>
> + sparc | sparc64 )<br>
> + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the<br>
> + # C compiler still generates 32-bit code.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __sparcv9 || defined __arch64__<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi=sparc64],<br>
> + [gl_cv_host_cpu_c_abi=sparc])<br>
> + ;;<br>
> +<br>
> + *)<br>
> + gl_cv_host_cpu_c_abi="$host_cpu"<br>
> + ;;<br>
> + esac<br>
> + ])<br>
> +<br>
> + dnl In most cases, $HOST_CPU and $HOST_CPU_C_ABI are the same.<br>
> + HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'`<br>
> + HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi"<br>
> + AC_SUBST([HOST_CPU])<br>
> + AC_SUBST([HOST_CPU_C_ABI])<br>
> +<br>
> + # This was<br>
> + # AC_DEFINE_UNQUOTED([__${HOST_CPU}__])<br>
> + # AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__])<br>
> + # earlier, but KAI C++ 3.2d doesn't like this.<br>
> + sed -e 's/-/_/g' >> confdefs.h <<EOF<br>
> +#ifndef __${HOST_CPU}__<br>
> +#define __${HOST_CPU}__ 1<br>
> +#endif<br>
> +#ifndef __${HOST_CPU_C_ABI}__<br>
> +#define __${HOST_CPU_C_ABI}__ 1<br>
> +#endif<br>
> +EOF<br>
> + AH_TOP([/* CPU and C ABI indicator */<br>
> +#ifndef __i386__<br>
> +#undef __i386__<br>
> +#endif<br>
> +#ifndef __x86_64_x32__<br>
> +#undef __x86_64_x32__<br>
> +#endif<br>
> +#ifndef __x86_64__<br>
> +#undef __x86_64__<br>
> +#endif<br>
> +#ifndef __alpha__<br>
> +#undef __alpha__<br>
> +#endif<br>
> +#ifndef __arm__<br>
> +#undef __arm__<br>
> +#endif<br>
> +#ifndef __armhf__<br>
> +#undef __armhf__<br>
> +#endif<br>
> +#ifndef __arm64_ilp32__<br>
> +#undef __arm64_ilp32__<br>
> +#endif<br>
> +#ifndef __arm64__<br>
> +#undef __arm64__<br>
> +#endif<br>
> +#ifndef __hppa__<br>
> +#undef __hppa__<br>
> +#endif<br>
> +#ifndef __hppa64__<br>
> +#undef __hppa64__<br>
> +#endif<br>
> +#ifndef __ia64_ilp32__<br>
> +#undef __ia64_ilp32__<br>
> +#endif<br>
> +#ifndef __ia64__<br>
> +#undef __ia64__<br>
> +#endif<br>
> +#ifndef __m68k__<br>
> +#undef __m68k__<br>
> +#endif<br>
> +#ifndef __mips__<br>
> +#undef __mips__<br>
> +#endif<br>
> +#ifndef __mipsn32__<br>
> +#undef __mipsn32__<br>
> +#endif<br>
> +#ifndef __mips64__<br>
> +#undef __mips64__<br>
> +#endif<br>
> +#ifndef __powerpc__<br>
> +#undef __powerpc__<br>
> +#endif<br>
> +#ifndef __powerpc64__<br>
> +#undef __powerpc64__<br>
> +#endif<br>
> +#ifndef __powerpc64_elfv2__<br>
> +#undef __powerpc64_elfv2__<br>
> +#endif<br>
> +#ifndef __riscv32__<br>
> +#undef __riscv32__<br>
> +#endif<br>
> +#ifndef __riscv64__<br>
> +#undef __riscv64__<br>
> +#endif<br>
> +#ifndef __riscv32_ilp32__<br>
> +#undef __riscv32_ilp32__<br>
> +#endif<br>
> +#ifndef __riscv32_ilp32f__<br>
> +#undef __riscv32_ilp32f__<br>
> +#endif<br>
> +#ifndef __riscv32_ilp32d__<br>
> +#undef __riscv32_ilp32d__<br>
> +#endif<br>
> +#ifndef __riscv64_ilp32__<br>
> +#undef __riscv64_ilp32__<br>
> +#endif<br>
> +#ifndef __riscv64_ilp32f__<br>
> +#undef __riscv64_ilp32f__<br>
> +#endif<br>
> +#ifndef __riscv64_ilp32d__<br>
> +#undef __riscv64_ilp32d__<br>
> +#endif<br>
> +#ifndef __riscv64_lp64__<br>
> +#undef __riscv64_lp64__<br>
> +#endif<br>
> +#ifndef __riscv64_lp64f__<br>
> +#undef __riscv64_lp64f__<br>
> +#endif<br>
> +#ifndef __riscv64_lp64d__<br>
> +#undef __riscv64_lp64d__<br>
> +#endif<br>
> +#ifndef __s390__<br>
> +#undef __s390__<br>
> +#endif<br>
> +#ifndef __s390x__<br>
> +#undef __s390x__<br>
> +#endif<br>
> +#ifndef __sh__<br>
> +#undef __sh__<br>
> +#endif<br>
> +#ifndef __sparc__<br>
> +#undef __sparc__<br>
> +#endif<br>
> +#ifndef __sparc64__<br>
> +#undef __sparc64__<br>
> +#endif<br>
> +])<br>
> +<br>
> +])<br>
> +<br>
> +<br>
> +dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI<br>
> +dnl (application binary interface) is a 32-bit one, or to 'no' otherwise.<br>
> +dnl This is a simplified variant of gl_HOST_CPU_C_ABI.<br>
> +AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],<br>
> +[<br>
> + AC_REQUIRE([AC_CANONICAL_HOST])<br>
> + AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit],<br>
> + [if test -n "$gl_cv_host_cpu_c_abi"; then<br>
> + case "$gl_cv_host_cpu_c_abi" in<br>
> + i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)<br>
> + gl_cv_host_cpu_c_abi_32bit=yes ;;<br>
> + *)<br>
> + gl_cv_host_cpu_c_abi_32bit=no ;;<br>
> + esac<br>
> + else<br>
> + case "$host_cpu" in<br>
> +<br>
> +changequote(,)dnl<br>
> + i[4567]86 )<br>
> +changequote([,])dnl<br>
> + gl_cv_host_cpu_c_abi_32bit=yes<br>
> + ;;<br>
> +<br>
> + x86_64 )<br>
> + # On x86_64 systems, the C compiler may be generating code in one of<br>
> + # these ABIs:<br>
> + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.<br>
> + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64<br>
> + # with native Windows (mingw, MSVC).<br>
> + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.<br>
> + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if (defined __x86_64__ || defined __amd64__ \<br>
> + || defined _M_X64 || defined _M_AMD64) \<br>
> + && !(defined __ILP32__ || defined _ILP32)<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi_32bit=no],<br>
> + [gl_cv_host_cpu_c_abi_32bit=yes])<br>
> + ;;<br>
> +<br>
> + arm* | aarch64 )<br>
> + # Assume arm with EABI.<br>
> + # On arm64 systems, the C compiler may be generating code in one of<br>
> + # these ABIs:<br>
> + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.<br>
> + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.<br>
> + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32)<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi_32bit=no],<br>
> + [gl_cv_host_cpu_c_abi_32bit=yes])<br>
> + ;;<br>
> +<br>
> + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )<br>
> + # On hppa, the C compiler may be generating 32-bit code or 64-bit<br>
> + # code. In the latter case, it defines _LP64 and __LP64__.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#ifdef __LP64__<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi_32bit=no],<br>
> + [gl_cv_host_cpu_c_abi_32bit=yes])<br>
> + ;;<br>
> +<br>
> + ia64* )<br>
> + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or<br>
> + # 32-bit code. In the latter case, it defines _ILP32.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#ifdef _ILP32<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi_32bit=yes],<br>
> + [gl_cv_host_cpu_c_abi_32bit=no])<br>
> + ;;<br>
> +<br>
> + mips* )<br>
> + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this<br>
> + # at 32.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi_32bit=no],<br>
> + [gl_cv_host_cpu_c_abi_32bit=yes])<br>
> + ;;<br>
> +<br>
> + powerpc* )<br>
> + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.<br>
> + # No need to distinguish them here; the caller may distinguish<br>
> + # them based on the OS.<br>
> + # On powerpc64 systems, the C compiler may still be generating<br>
> + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may<br>
> + # be generating 64-bit code.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __powerpc64__ || defined _ARCH_PPC64<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi_32bit=no],<br>
> + [gl_cv_host_cpu_c_abi_32bit=yes])<br>
> + ;;<br>
> +<br>
> + rs6000 )<br>
> + gl_cv_host_cpu_c_abi_32bit=yes<br>
> + ;;<br>
> +<br>
> + riscv32 | riscv64 )<br>
> + # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.<br>
> + # Size of 'long' and 'void *':<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __LP64__<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi_32bit=no],<br>
> + [gl_cv_host_cpu_c_abi_32bit=yes])<br>
> + ;;<br>
> +<br>
> + s390* )<br>
> + # On s390x, the C compiler may be generating 64-bit (= s390x) code<br>
> + # or 31-bit (= s390) code.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __LP64__ || defined __s390x__<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi_32bit=no],<br>
> + [gl_cv_host_cpu_c_abi_32bit=yes])<br>
> + ;;<br>
> +<br>
> + sparc | sparc64 )<br>
> + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the<br>
> + # C compiler still generates 32-bit code.<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __sparcv9 || defined __arch64__<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_host_cpu_c_abi_32bit=no],<br>
> + [gl_cv_host_cpu_c_abi_32bit=yes])<br>
> + ;;<br>
> +<br>
> + *)<br>
> + gl_cv_host_cpu_c_abi_32bit=no<br>
> + ;;<br>
> + esac<br>
> + fi<br>
> + ])<br>
> +<br>
> + HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit"<br>
> +])<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/iconv.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/iconv.m4<br>
> new file mode 100644<br>
> index 00000000000..a285e9daa5e<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/iconv.m4<br>
> @@ -0,0 +1,288 @@<br>
> +# iconv.m4 serial 21<br>
> +dnl Copyright (C) 2000-2002, 2007-2014, 2016-2019 Free Software Foundation,<br>
> +dnl Inc.<br>
> +dnl This file is free software; the Free Software Foundation<br>
> +dnl gives unlimited permission to copy and/or distribute it,<br>
> +dnl with or without modifications, as long as this notice is preserved.<br>
> +<br>
> +dnl From Bruno Haible.<br>
> +<br>
> +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],<br>
> +[<br>
> + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.<br>
> + AC_REQUIRE([AC_LIB_PREPARE_PREFIX])<br>
> + AC_REQUIRE([AC_LIB_RPATH])<br>
> +<br>
> + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV<br>
> + dnl accordingly.<br>
> + AC_LIB_LINKFLAGS_BODY([iconv])<br>
> +])<br>
> +<br>
> +AC_DEFUN([AM_ICONV_LINK],<br>
> +[<br>
> + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and<br>
> + dnl those with the standalone portable GNU libiconv installed).<br>
> + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles<br>
> +<br>
> + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV<br>
> + dnl accordingly.<br>
> + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])<br>
> +<br>
> + dnl Add $INCICONV to CPPFLAGS before performing the following checks,<br>
> + dnl because if the user has installed libiconv and not disabled its use<br>
> + dnl via --without-libiconv-prefix, he wants to use it. The first<br>
> + dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.<br>
> + am_save_CPPFLAGS="$CPPFLAGS"<br>
> + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])<br>
> +<br>
> + AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [<br>
> + am_cv_func_iconv="no, consider installing GNU libiconv"<br>
> + am_cv_lib_iconv=no<br>
> + AC_LINK_IFELSE(<br>
> + [AC_LANG_PROGRAM(<br>
> + [[<br>
> +#include <stdlib.h><br>
> +#include <iconv.h><br>
> + ]],<br>
> + [[iconv_t cd = iconv_open("","");<br>
> + iconv(cd,NULL,NULL,NULL,NULL);<br>
> + iconv_close(cd);]])],<br>
> + [am_cv_func_iconv=yes])<br>
> + if test "$am_cv_func_iconv" != yes; then<br>
> + am_save_LIBS="$LIBS"<br>
> + LIBS="$LIBS $LIBICONV"<br>
> + AC_LINK_IFELSE(<br>
> + [AC_LANG_PROGRAM(<br>
> + [[<br>
> +#include <stdlib.h><br>
> +#include <iconv.h><br>
> + ]],<br>
> + [[iconv_t cd = iconv_open("","");<br>
> + iconv(cd,NULL,NULL,NULL,NULL);<br>
> + iconv_close(cd);]])],<br>
> + [am_cv_lib_iconv=yes]<br>
> + [am_cv_func_iconv=yes])<br>
> + LIBS="$am_save_LIBS"<br>
> + fi<br>
> + ])<br>
> + if test "$am_cv_func_iconv" = yes; then<br>
> + AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [<br>
> + dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,<br>
> + dnl Solaris 10.<br>
> + am_save_LIBS="$LIBS"<br>
> + if test $am_cv_lib_iconv = yes; then<br>
> + LIBS="$LIBS $LIBICONV"<br>
> + fi<br>
> + am_cv_func_iconv_works=no<br>
> + for ac_iconv_const in '' 'const'; do<br>
> + AC_RUN_IFELSE(<br>
> + [AC_LANG_PROGRAM(<br>
> + [[<br>
> +#include <iconv.h><br>
> +#include <string.h><br>
> +<br>
> +#ifndef ICONV_CONST<br>
> +# define ICONV_CONST $ac_iconv_const<br>
> +#endif<br>
> + ]],<br>
> + [[int result = 0;<br>
> + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful<br>
> + returns. */<br>
> + {<br>
> + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");<br>
> + if (cd_utf8_to_88591 != (iconv_t)(-1))<br>
> + {<br>
> + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */<br>
> + char buf[10];<br>
> + ICONV_CONST char *inptr = input;<br>
> + size_t inbytesleft = strlen (input);<br>
> + char *outptr = buf;<br>
> + size_t outbytesleft = sizeof (buf);<br>
> + size_t res = iconv (cd_utf8_to_88591,<br>
> + &inptr, &inbytesleft,<br>
> + &outptr, &outbytesleft);<br>
> + if (res == 0)<br>
> + result |= 1;<br>
> + iconv_close (cd_utf8_to_88591);<br>
> + }<br>
> + }<br>
> + /* Test against Solaris 10 bug: Failures are not distinguishable from<br>
> + successful returns. */<br>
> + {<br>
> + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");<br>
> + if (cd_ascii_to_88591 != (iconv_t)(-1))<br>
> + {<br>
> + static ICONV_CONST char input[] = "\263";<br>
> + char buf[10];<br>
> + ICONV_CONST char *inptr = input;<br>
> + size_t inbytesleft = strlen (input);<br>
> + char *outptr = buf;<br>
> + size_t outbytesleft = sizeof (buf);<br>
> + size_t res = iconv (cd_ascii_to_88591,<br>
> + &inptr, &inbytesleft,<br>
> + &outptr, &outbytesleft);<br>
> + if (res == 0)<br>
> + result |= 2;<br>
> + iconv_close (cd_ascii_to_88591);<br>
> + }<br>
> + }<br>
> + /* Test against AIX 6.1..7.1 bug: Buffer overrun. */<br>
> + {<br>
> + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");<br>
> + if (cd_88591_to_utf8 != (iconv_t)(-1))<br>
> + {<br>
> + static ICONV_CONST char input[] = "\304";<br>
> + static char buf[2] = { (char)0xDE, (char)0xAD };<br>
> + ICONV_CONST char *inptr = input;<br>
> + size_t inbytesleft = 1;<br>
> + char *outptr = buf;<br>
> + size_t outbytesleft = 1;<br>
> + size_t res = iconv (cd_88591_to_utf8,<br>
> + &inptr, &inbytesleft,<br>
> + &outptr, &outbytesleft);<br>
> + if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)<br>
> + result |= 4;<br>
> + iconv_close (cd_88591_to_utf8);<br>
> + }<br>
> + }<br>
> +#if 0 /* This bug could be worked around by the caller. */<br>
> + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */<br>
> + {<br>
> + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");<br>
> + if (cd_88591_to_utf8 != (iconv_t)(-1))<br>
> + {<br>
> + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";<br>
> + char buf[50];<br>
> + ICONV_CONST char *inptr = input;<br>
> + size_t inbytesleft = strlen (input);<br>
> + char *outptr = buf;<br>
> + size_t outbytesleft = sizeof (buf);<br>
> + size_t res = iconv (cd_88591_to_utf8,<br>
> + &inptr, &inbytesleft,<br>
> + &outptr, &outbytesleft);<br>
> + if ((int)res > 0)<br>
> + result |= 8;<br>
> + iconv_close (cd_88591_to_utf8);<br>
> + }<br>
> + }<br>
> +#endif<br>
> + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is<br>
> + provided. */<br>
> + {<br>
> + /* Try standardized names. */<br>
> + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP");<br>
> + /* Try IRIX, OSF/1 names. */<br>
> + iconv_t cd2 = iconv_open ("UTF-8", "eucJP");<br>
> + /* Try AIX names. */<br>
> + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP");<br>
> + /* Try HP-UX names. */<br>
> + iconv_t cd4 = iconv_open ("utf8", "eucJP");<br>
> + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1)<br>
> + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1))<br>
> + result |= 16;<br>
> + if (cd1 != (iconv_t)(-1))<br>
> + iconv_close (cd1);<br>
> + if (cd2 != (iconv_t)(-1))<br>
> + iconv_close (cd2);<br>
> + if (cd3 != (iconv_t)(-1))<br>
> + iconv_close (cd3);<br>
> + if (cd4 != (iconv_t)(-1))<br>
> + iconv_close (cd4);<br>
> + }<br>
> + return result;<br>
> +]])],<br>
> + [am_cv_func_iconv_works=yes], ,<br>
> + [case "$host_os" in<br>
> + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;<br>
> + *) am_cv_func_iconv_works="guessing yes" ;;<br>
> + esac])<br>
> + test "$am_cv_func_iconv_works" = no || break<br>
> + done<br>
> + LIBS="$am_save_LIBS"<br>
> + ])<br>
> + case "$am_cv_func_iconv_works" in<br>
> + *no) am_func_iconv=no am_cv_lib_iconv=no ;;<br>
> + *) am_func_iconv=yes ;;<br>
> + esac<br>
> + else<br>
> + am_func_iconv=no am_cv_lib_iconv=no<br>
> + fi<br>
> + if test "$am_func_iconv" = yes; then<br>
> + AC_DEFINE([HAVE_ICONV], [1],<br>
> + [Define if you have the iconv() function and it works.])<br>
> + fi<br>
> + if test "$am_cv_lib_iconv" = yes; then<br>
> + AC_MSG_CHECKING([how to link with libiconv])<br>
> + AC_MSG_RESULT([$LIBICONV])<br>
> + else<br>
> + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV<br>
> + dnl either.<br>
> + CPPFLAGS="$am_save_CPPFLAGS"<br>
> + LIBICONV=<br>
> + LTLIBICONV=<br>
> + fi<br>
> + AC_SUBST([LIBICONV])<br>
> + AC_SUBST([LTLIBICONV])<br>
> +])<br>
> +<br>
> +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to<br>
> +dnl avoid warnings like<br>
> +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".<br>
> +dnl This is tricky because of the way 'aclocal' is implemented:<br>
> +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.<br>
> +dnl Otherwise aclocal's initial scan pass would miss the macro definition.<br>
> +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.<br>
> +dnl Otherwise aclocal would emit many "Use of uninitialized value $1"<br>
> +dnl warnings.<br>
> +m4_define([gl_iconv_AC_DEFUN],<br>
> + m4_version_prereq([2.64],<br>
> + [[AC_DEFUN_ONCE(<br>
> + [$1], [$2])]],<br>
> + [m4_ifdef([gl_00GNULIB],<br>
> + [[AC_DEFUN_ONCE(<br>
> + [$1], [$2])]],<br>
> + [[AC_DEFUN(<br>
> + [$1], [$2])]])]))<br>
> +gl_iconv_AC_DEFUN([AM_ICONV],<br>
> +[<br>
> + AM_ICONV_LINK<br>
> + if test "$am_cv_func_iconv" = yes; then<br>
> + AC_MSG_CHECKING([for iconv declaration])<br>
> + AC_CACHE_VAL([am_cv_proto_iconv], [<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_PROGRAM(<br>
> + [[<br>
> +#include <stdlib.h><br>
> +#include <iconv.h><br>
> +extern<br>
> +#ifdef __cplusplus<br>
> +"C"<br>
> +#endif<br>
> +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)<br>
> +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);<br>
> +#else<br>
> +size_t iconv();<br>
> +#endif<br>
> + ]],<br>
> + [[]])],<br>
> + [am_cv_proto_iconv_arg1=""],<br>
> + [am_cv_proto_iconv_arg1="const"])<br>
> + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])<br>
> + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`<br>
> + AC_MSG_RESULT([<br>
> + $am_cv_proto_iconv])<br>
> + else<br>
> + dnl When compiling GNU libiconv on a system that does not have iconv yet,<br>
> + dnl pick the POSIX compliant declaration without 'const'.<br>
> + am_cv_proto_iconv_arg1=""<br>
> + fi<br>
> + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],<br>
> + [Define as const if the declaration of iconv() needs const.])<br>
> + dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.<br>
> + m4_ifdef([gl_ICONV_H_DEFAULTS],<br>
> + [AC_REQUIRE([gl_ICONV_H_DEFAULTS])<br>
> + if test -n "$am_cv_proto_iconv_arg1"; then<br>
> + ICONV_CONST="const"<br>
> + fi<br>
> + ])<br>
> +])<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/intlmacosx.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/intlmacosx.m4<br>
> new file mode 100644<br>
> index 00000000000..30e6f50e0ac<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/intlmacosx.m4<br>
> @@ -0,0 +1,72 @@<br>
> +# intlmacosx.m4 serial 6 (gettext-0.20)<br>
> +dnl Copyright (C) 2004-2014, 2016, 2019 Free Software Foundation, Inc.<br>
> +dnl This file is free software; the Free Software Foundation<br>
> +dnl gives unlimited permission to copy and/or distribute it,<br>
> +dnl with or without modifications, as long as this notice is preserved.<br>
> +dnl<br>
> +dnl This file can be used in projects which are not available under<br>
> +dnl the GNU General Public License or the GNU Library General Public<br>
> +dnl License but which still want to provide support for the GNU gettext<br>
> +dnl functionality.<br>
> +dnl Please note that the actual code of the GNU gettext library is covered<br>
> +dnl by the GNU Library General Public License, and the rest of the GNU<br>
> +dnl gettext package is covered by the GNU General Public License.<br>
> +dnl They are *not* in the public domain.<br>
> +<br>
> +dnl Checks for special options needed on Mac OS X.<br>
> +dnl Defines INTL_MACOSX_LIBS.<br>
> +AC_DEFUN([gt_INTL_MACOSX],<br>
> +[<br>
> + dnl Check for API introduced in Mac OS X 10.4.<br>
> + AC_CACHE_CHECK([for CFPreferencesCopyAppValue],<br>
> + [gt_cv_func_CFPreferencesCopyAppValue],<br>
> + [gt_save_LIBS="$LIBS"<br>
> + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"<br>
> + AC_LINK_IFELSE(<br>
> + [AC_LANG_PROGRAM(<br>
> + [[#include <CoreFoundation/CFPreferences.h>]],<br>
> + [[CFPreferencesCopyAppValue(NULL, NULL)]])],<br>
> + [gt_cv_func_CFPreferencesCopyAppValue=yes],<br>
> + [gt_cv_func_CFPreferencesCopyAppValue=no])<br>
> + LIBS="$gt_save_LIBS"])<br>
> + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then<br>
> + AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],<br>
> + [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])<br>
> + fi<br>
> + dnl Check for API introduced in Mac OS X 10.5.<br>
> + AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],<br>
> + [gt_save_LIBS="$LIBS"<br>
> + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"<br>
> + AC_LINK_IFELSE(<br>
> + [AC_LANG_PROGRAM(<br>
> + [[#include <CoreFoundation/CFLocale.h>]],<br>
> + [[CFLocaleCopyCurrent();]])],<br>
> + [gt_cv_func_CFLocaleCopyCurrent=yes],<br>
> + [gt_cv_func_CFLocaleCopyCurrent=no])<br>
> + LIBS="$gt_save_LIBS"])<br>
> + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then<br>
> + AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],<br>
> + [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])<br>
> + fi<br>
> + AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages],<br>
> + [gt_save_LIBS="$LIBS"<br>
> + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"<br>
> + AC_LINK_IFELSE(<br>
> + [AC_LANG_PROGRAM(<br>
> + [[#include <CoreFoundation/CFLocale.h>]],<br>
> + [[CFLocaleCopyPreferredLanguages();]])],<br>
> + [gt_cv_func_CFLocaleCopyPreferredLanguages=yes],<br>
> + [gt_cv_func_CFLocaleCopyPreferredLanguages=no])<br>
> + LIBS="$gt_save_LIBS"])<br>
> + if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then<br>
> + AC_DEFINE([HAVE_CFLOCALECOPYPREFERREDLANGUAGES], [1],<br>
> + [Define to 1 if you have the Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework.])<br>
> + fi<br>
> + INTL_MACOSX_LIBS=<br>
> + if test $gt_cv_func_CFPreferencesCopyAppValue = yes \<br>
> + || test $gt_cv_func_CFLocaleCopyCurrent = yes \<br>
> + || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then<br>
> + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"<br>
> + fi<br>
> + AC_SUBST([INTL_MACOSX_LIBS])<br>
> +])<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-ld.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-ld.m4<br>
> new file mode 100644<br>
> index 00000000000..a18719630d5<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-ld.m4<br>
> @@ -0,0 +1,168 @@<br>
> +# lib-ld.m4 serial 9<br>
> +dnl Copyright (C) 1996-2003, 2009-2019 Free Software Foundation, Inc.<br>
> +dnl This file is free software; the Free Software Foundation<br>
> +dnl gives unlimited permission to copy and/or distribute it,<br>
> +dnl with or without modifications, as long as this notice is preserved.<br>
> +<br>
> +dnl Subroutines of libtool.m4,<br>
> +dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid<br>
> +dnl collision with libtool.m4.<br>
> +<br>
> +dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.<br>
> +AC_DEFUN([AC_LIB_PROG_LD_GNU],<br>
> +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],<br>
> +[# I'd rather use --version here, but apparently some GNU lds only accept -v.<br>
> +case `$LD -v 2>&1 </dev/null` in<br>
> +*GNU* | *'with BFD'*)<br>
> + acl_cv_prog_gnu_ld=yes<br>
> + ;;<br>
> +*)<br>
> + acl_cv_prog_gnu_ld=no<br>
> + ;;<br>
> +esac])<br>
> +with_gnu_ld=$acl_cv_prog_gnu_ld<br>
> +])<br>
> +<br>
> +dnl From libtool-2.4. Sets the variable LD.<br>
> +AC_DEFUN([AC_LIB_PROG_LD],<br>
> +[AC_REQUIRE([AC_PROG_CC])dnl<br>
> +AC_REQUIRE([AC_CANONICAL_HOST])dnl<br>
> +<br>
> +AC_ARG_WITH([gnu-ld],<br>
> + [AS_HELP_STRING([--with-gnu-ld],<br>
> + [assume the C compiler uses GNU ld [default=no]])],<br>
> + [test "$withval" = no || with_gnu_ld=yes],<br>
> + [with_gnu_ld=no])dnl<br>
> +<br>
> +# Prepare PATH_SEPARATOR.<br>
> +# The user is always right.<br>
> +if test "${PATH_SEPARATOR+set}" != set; then<br>
> + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which<br>
> + # contains only /bin. Note that ksh looks also at the FPATH variable,<br>
> + # so we have to set that as well for the test.<br>
> + PATH_SEPARATOR=:<br>
> + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \<br>
> + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \<br>
> + || PATH_SEPARATOR=';'<br>
> + }<br>
> +fi<br>
> +<br>
> +if test -n "$LD"; then<br>
> + AC_MSG_CHECKING([for ld])<br>
> +elif test "$GCC" = yes; then<br>
> + AC_MSG_CHECKING([for ld used by $CC])<br>
> +elif test "$with_gnu_ld" = yes; then<br>
> + AC_MSG_CHECKING([for GNU ld])<br>
> +else<br>
> + AC_MSG_CHECKING([for non-GNU ld])<br>
> +fi<br>
> +if test -n "$LD"; then<br>
> + # Let the user override the test with a path.<br>
> + :<br>
> +else<br>
> + AC_CACHE_VAL([acl_cv_path_LD],<br>
> + [<br>
> + acl_cv_path_LD= # Final result of this test<br>
> + ac_prog=ld # Program to search in $PATH<br>
> + if test "$GCC" = yes; then<br>
> + # Check if gcc -print-prog-name=ld gives a path.<br>
> + case $host in<br>
> + *-*-mingw*)<br>
> + # gcc leaves a trailing carriage return which upsets mingw<br>
> + acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;<br>
> + *)<br>
> + acl_output=`($CC -print-prog-name=ld) 2>&5` ;;<br>
> + esac<br>
> + case $acl_output in<br>
> + # Accept absolute paths.<br>
> + [[\\/]]* | ?:[[\\/]]*)<br>
> + re_direlt='/[[^/]][[^/]]*/\.\./'<br>
> + # Canonicalize the pathname of ld<br>
> + acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'`<br>
> + while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do<br>
> + acl_output=`echo $acl_output | sed "s%$re_direlt%/%"`<br>
> + done<br>
> + # Got the pathname. No search in PATH is needed.<br>
> + acl_cv_path_LD="$acl_output"<br>
> + ac_prog=<br>
> + ;;<br>
> + "")<br>
> + # If it fails, then pretend we aren't using GCC.<br>
> + ;;<br>
> + *)<br>
> + # If it is relative, then search for the first ld in PATH.<br>
> + with_gnu_ld=unknown<br>
> + ;;<br>
> + esac<br>
> + fi<br>
> + if test -n "$ac_prog"; then<br>
> + # Search for $ac_prog in $PATH.<br>
> + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR<br>
> + for ac_dir in $PATH; do<br>
> + IFS="$acl_save_ifs"<br>
> + test -z "$ac_dir" && ac_dir=.<br>
> + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then<br>
> + acl_cv_path_LD="$ac_dir/$ac_prog"<br>
> + # Check to see if the program is GNU ld. I'd rather use --version,<br>
> + # but apparently some variants of GNU ld only accept -v.<br>
> + # Break only if it was the GNU/non-GNU ld that we prefer.<br>
> + case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in<br>
> + *GNU* | *'with BFD'*)<br>
> + test "$with_gnu_ld" != no && break<br>
> + ;;<br>
> + *)<br>
> + test "$with_gnu_ld" != yes && break<br>
> + ;;<br>
> + esac<br>
> + fi<br>
> + done<br>
> + IFS="$acl_save_ifs"<br>
> + fi<br>
> + case $host in<br>
> + *-*-aix*)<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __powerpc64__ || defined _ARCH_PPC64<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [# The compiler produces 64-bit code. Add option '-b64' so that the<br>
> + # linker groks 64-bit object files.<br>
> + case "$acl_cv_path_LD " in<br>
> + *" -b64 "*) ;;<br>
> + *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;;<br>
> + esac<br>
> + ], [])<br>
> + ;;<br>
> + sparc64-*-netbsd*)<br>
> + AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#if defined __sparcv9 || defined __arch64__<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [],<br>
> + [# The compiler produces 32-bit code. Add option '-m elf32_sparc'<br>
> + # so that the linker groks 32-bit object files.<br>
> + case "$acl_cv_path_LD " in<br>
> + *" -m elf32_sparc "*) ;;<br>
> + *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;;<br>
> + esac<br>
> + ])<br>
> + ;;<br>
> + esac<br>
> + ])<br>
> + LD="$acl_cv_path_LD"<br>
> +fi<br>
> +if test -n "$LD"; then<br>
> + AC_MSG_RESULT([$LD])<br>
> +else<br>
> + AC_MSG_RESULT([no])<br>
> + AC_MSG_ERROR([no acceptable ld found in \$PATH])<br>
> +fi<br>
> +AC_LIB_PROG_LD_GNU<br>
> +])<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-link.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-link.m4<br>
> new file mode 100644<br>
> index 00000000000..0ff10731fac<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-link.m4<br>
> @@ -0,0 +1,774 @@<br>
> +# lib-link.m4 serial 28<br>
> +dnl Copyright (C) 2001-2019 Free Software Foundation, Inc.<br>
> +dnl This file is free software; the Free Software Foundation<br>
> +dnl gives unlimited permission to copy and/or distribute it,<br>
> +dnl with or without modifications, as long as this notice is preserved.<br>
> +<br>
> +dnl From Bruno Haible.<br>
> +<br>
> +AC_PREREQ([2.61])<br>
> +<br>
> +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and<br>
> +dnl the libraries corresponding to explicit and implicit dependencies.<br>
> +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and<br>
> +dnl augments the CPPFLAGS variable.<br>
> +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname<br>
> +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.<br>
> +AC_DEFUN([AC_LIB_LINKFLAGS],<br>
> +[<br>
> + AC_REQUIRE([AC_LIB_PREPARE_PREFIX])<br>
> + AC_REQUIRE([AC_LIB_RPATH])<br>
> + pushdef([Name],[m4_translit([$1],[./+-], [____])])<br>
> + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],<br>
> + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])<br>
> + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [<br>
> + AC_LIB_LINKFLAGS_BODY([$1], [$2])<br>
> + ac_cv_lib[]Name[]_libs="$LIB[]NAME"<br>
> + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"<br>
> + ac_cv_lib[]Name[]_cppflags="$INC[]NAME"<br>
> + ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"<br>
> + ])<br>
> + LIB[]NAME="$ac_cv_lib[]Name[]_libs"<br>
> + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"<br>
> + INC[]NAME="$ac_cv_lib[]Name[]_cppflags"<br>
> + LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"<br>
> + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)<br>
> + AC_SUBST([LIB]NAME)<br>
> + AC_SUBST([LTLIB]NAME)<br>
> + AC_SUBST([LIB]NAME[_PREFIX])<br>
> + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the<br>
> + dnl results of this search when this library appears as a dependency.<br>
> + HAVE_LIB[]NAME=yes<br>
> + popdef([NAME])<br>
> + popdef([Name])<br>
> +])<br>
> +<br>
> +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])<br>
> +dnl searches for libname and the libraries corresponding to explicit and<br>
> +dnl implicit dependencies, together with the specified include files and<br>
> +dnl the ability to compile and link the specified testcode. The missing-message<br>
> +dnl defaults to 'no' and may contain additional hints for the user.<br>
> +dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}<br>
> +dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and<br>
> +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs<br>
> +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.<br>
> +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname<br>
> +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.<br>
> +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],<br>
> +[<br>
> + AC_REQUIRE([AC_LIB_PREPARE_PREFIX])<br>
> + AC_REQUIRE([AC_LIB_RPATH])<br>
> + pushdef([Name],[m4_translit([$1],[./+-], [____])])<br>
> + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],<br>
> + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])<br>
> +<br>
> + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME<br>
> + dnl accordingly.<br>
> + AC_LIB_LINKFLAGS_BODY([$1], [$2])<br>
> +<br>
> + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,<br>
> + dnl because if the user has installed lib[]Name and not disabled its use<br>
> + dnl via --without-lib[]Name-prefix, he wants to use it.<br>
> + ac_save_CPPFLAGS="$CPPFLAGS"<br>
> + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)<br>
> +<br>
> + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [<br>
> + ac_save_LIBS="$LIBS"<br>
> + dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,<br>
> + dnl because these -l options might require -L options that are present in<br>
> + dnl LIBS. -l options benefit only from the -L options listed before it.<br>
> + dnl Otherwise, add it to the front of LIBS, because it may be a static<br>
> + dnl library that depends on another static library that is present in LIBS.<br>
> + dnl Static libraries benefit only from the static libraries listed after<br>
> + dnl it.<br>
> + case " $LIB[]NAME" in<br>
> + *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;<br>
> + *) LIBS="$LIB[]NAME $LIBS" ;;<br>
> + esac<br>
> + AC_LINK_IFELSE(<br>
> + [AC_LANG_PROGRAM([[$3]], [[$4]])],<br>
> + [ac_cv_lib[]Name=yes],<br>
> + [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])<br>
> + LIBS="$ac_save_LIBS"<br>
> + ])<br>
> + if test "$ac_cv_lib[]Name" = yes; then<br>
> + HAVE_LIB[]NAME=yes<br>
> + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])<br>
> + AC_MSG_CHECKING([how to link with lib[]$1])<br>
> + AC_MSG_RESULT([$LIB[]NAME])<br>
> + else<br>
> + HAVE_LIB[]NAME=no<br>
> + dnl If $LIB[]NAME didn't lead to a usable library, we don't need<br>
> + dnl $INC[]NAME either.<br>
> + CPPFLAGS="$ac_save_CPPFLAGS"<br>
> + LIB[]NAME=<br>
> + LTLIB[]NAME=<br>
> + LIB[]NAME[]_PREFIX=<br>
> + fi<br>
> + AC_SUBST([HAVE_LIB]NAME)<br>
> + AC_SUBST([LIB]NAME)<br>
> + AC_SUBST([LTLIB]NAME)<br>
> + AC_SUBST([LIB]NAME[_PREFIX])<br>
> + popdef([NAME])<br>
> + popdef([Name])<br>
> +])<br>
> +<br>
> +dnl Determine the platform dependent parameters needed to use rpath:<br>
> +dnl acl_libext,<br>
> +dnl acl_shlibext,<br>
> +dnl acl_libname_spec,<br>
> +dnl acl_library_names_spec,<br>
> +dnl acl_hardcode_libdir_flag_spec,<br>
> +dnl acl_hardcode_libdir_separator,<br>
> +dnl acl_hardcode_direct,<br>
> +dnl acl_hardcode_minus_L.<br>
> +AC_DEFUN([AC_LIB_RPATH],<br>
> +[<br>
> + dnl Complain if config.rpath is missing.<br>
> + AC_REQUIRE_AUX_FILE([config.rpath])<br>
> + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS<br>
> + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld<br>
> + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host<br>
> + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir<br>
> + AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [<br>
> + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \<br>
> + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh<br>
> + . ./conftest.sh<br>
> + rm -f ./conftest.sh<br>
> + acl_cv_rpath=done<br>
> + ])<br>
> + wl="$acl_cv_wl"<br>
> + acl_libext="$acl_cv_libext"<br>
> + acl_shlibext="$acl_cv_shlibext"<br>
> + acl_libname_spec="$acl_cv_libname_spec"<br>
> + acl_library_names_spec="$acl_cv_library_names_spec"<br>
> + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"<br>
> + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"<br>
> + acl_hardcode_direct="$acl_cv_hardcode_direct"<br>
> + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"<br>
> + dnl Determine whether the user wants rpath handling at all.<br>
> + AC_ARG_ENABLE([rpath],<br>
> + [ --disable-rpath do not hardcode runtime library paths],<br>
> + :, enable_rpath=yes)<br>
> +])<br>
> +<br>
> +dnl AC_LIB_FROMPACKAGE(name, package)<br>
> +dnl declares that libname comes from the given package. The configure file<br>
> +dnl will then not have a --with-libname-prefix option but a<br>
> +dnl --with-package-prefix option. Several libraries can come from the same<br>
> +dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar<br>
> +dnl macro call that searches for libname.<br>
> +AC_DEFUN([AC_LIB_FROMPACKAGE],<br>
> +[<br>
> + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],<br>
> + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])<br>
> + define([acl_frompackage_]NAME, [$2])<br>
> + popdef([NAME])<br>
> + pushdef([PACK],[$2])<br>
> + pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],<br>
> + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])<br>
> + define([acl_libsinpackage_]PACKUP,<br>
> + m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])<br>
> + popdef([PACKUP])<br>
> + popdef([PACK])<br>
> +])<br>
> +<br>
> +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and<br>
> +dnl the libraries corresponding to explicit and implicit dependencies.<br>
> +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.<br>
> +dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found<br>
> +dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.<br>
> +AC_DEFUN([AC_LIB_LINKFLAGS_BODY],<br>
> +[<br>
> + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])<br>
> + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],<br>
> + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])<br>
> + pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])<br>
> + pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],<br>
> + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])<br>
> + pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])<br>
> + dnl By default, look in $includedir and $libdir.<br>
> + use_additional=yes<br>
> + AC_LIB_WITH_FINAL_PREFIX([<br>
> + eval additional_includedir=\"$includedir\"<br>
> + eval additional_libdir=\"$libdir\"<br>
> + ])<br>
> + AC_ARG_WITH(PACK[-prefix],<br>
> +[[ --with-]]PACK[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib<br>
> + --without-]]PACK[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],<br>
> +[<br>
> + if test "X$withval" = "Xno"; then<br>
> + use_additional=no<br>
> + else<br>
> + if test "X$withval" = "X"; then<br>
> + AC_LIB_WITH_FINAL_PREFIX([<br>
> + eval additional_includedir=\"$includedir\"<br>
> + eval additional_libdir=\"$libdir\"<br>
> + ])<br>
> + else<br>
> + additional_includedir="$withval/include"<br>
> + additional_libdir="$withval/$acl_libdirstem"<br>
> + if test "$acl_libdirstem2" != "$acl_libdirstem" \<br>
> + && test ! -d "$withval/$acl_libdirstem"; then<br>
> + additional_libdir="$withval/$acl_libdirstem2"<br>
> + fi<br>
> + fi<br>
> + fi<br>
> +])<br>
> + dnl Search the library and its dependencies in $additional_libdir and<br>
> + dnl $LDFLAGS. Using breadth-first-seach.<br>
> + LIB[]NAME=<br>
> + LTLIB[]NAME=<br>
> + INC[]NAME=<br>
> + LIB[]NAME[]_PREFIX=<br>
> + dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been<br>
> + dnl computed. So it has to be reset here.<br>
> + HAVE_LIB[]NAME=<br>
> + rpathdirs=<br>
> + ltrpathdirs=<br>
> + names_already_handled=<br>
> + names_next_round='$1 $2'<br>
> + while test -n "$names_next_round"; do<br>
> + names_this_round="$names_next_round"<br>
> + names_next_round=<br>
> + for name in $names_this_round; do<br>
> + already_handled=<br>
> + for n in $names_already_handled; do<br>
> + if test "$n" = "$name"; then<br>
> + already_handled=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$already_handled"; then<br>
> + names_already_handled="$names_already_handled $name"<br>
> + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS<br>
> + dnl or AC_LIB_HAVE_LINKFLAGS call.<br>
> + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`<br>
> + eval value=\"\$HAVE_LIB$uppername\"<br>
> + if test -n "$value"; then<br>
> + if test "$value" = yes; then<br>
> + eval value=\"\$LIB$uppername\"<br>
> + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"<br>
> + eval value=\"\$LTLIB$uppername\"<br>
> + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"<br>
> + else<br>
> + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined<br>
> + dnl that this library doesn't exist. So just drop it.<br>
> + :<br>
> + fi<br>
> + else<br>
> + dnl Search the library lib$name in $additional_libdir and $LDFLAGS<br>
> + dnl and the already constructed $LIBNAME/$LTLIBNAME.<br>
> + found_dir=<br>
> + found_la=<br>
> + found_so=<br>
> + found_a=<br>
> + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name<br>
> + if test -n "$acl_shlibext"; then<br>
> + shrext=".$acl_shlibext" # typically: shrext=.so<br>
> + else<br>
> + shrext=<br>
> + fi<br>
> + if test $use_additional = yes; then<br>
> + dir="$additional_libdir"<br>
> + dnl The same code as in the loop below:<br>
> + dnl First look for a shared library.<br>
> + if test -n "$acl_shlibext"; then<br>
> + if test -f "$dir/$libname$shrext"; then<br>
> + found_dir="$dir"<br>
> + found_so="$dir/$libname$shrext"<br>
> + else<br>
> + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then<br>
> + ver=`(cd "$dir" && \<br>
> + for f in "$libname$shrext".*; do echo "$f"; done \<br>
> + | sed -e "s,^$libname$shrext\\\\.,," \<br>
> + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \<br>
> + | sed 1q ) 2>/dev/null`<br>
> + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then<br>
> + found_dir="$dir"<br>
> + found_so="$dir/$libname$shrext.$ver"<br>
> + fi<br>
> + else<br>
> + eval library_names=\"$acl_library_names_spec\"<br>
> + for f in $library_names; do<br>
> + if test -f "$dir/$f"; then<br>
> + found_dir="$dir"<br>
> + found_so="$dir/$f"<br>
> + break<br>
> + fi<br>
> + done<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + dnl Then look for a static library.<br>
> + if test "X$found_dir" = "X"; then<br>
> + if test -f "$dir/$libname.$acl_libext"; then<br>
> + found_dir="$dir"<br>
> + found_a="$dir/$libname.$acl_libext"<br>
> + fi<br>
> + fi<br>
> + if test "X$found_dir" != "X"; then<br>
> + if test -f "$dir/$<a href="http://libname.la" rel="noreferrer" target="_blank">libname.la</a>"; then<br>
> + found_la="$dir/$<a href="http://libname.la" rel="noreferrer" target="_blank">libname.la</a>"<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + if test "X$found_dir" = "X"; then<br>
> + for x in $LDFLAGS $LTLIB[]NAME; do<br>
> + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
> + case "$x" in<br>
> + -L*)<br>
> + dir=`echo "X$x" | sed -e 's/^X-L//'`<br>
> + dnl First look for a shared library.<br>
> + if test -n "$acl_shlibext"; then<br>
> + if test -f "$dir/$libname$shrext"; then<br>
> + found_dir="$dir"<br>
> + found_so="$dir/$libname$shrext"<br>
> + else<br>
> + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then<br>
> + ver=`(cd "$dir" && \<br>
> + for f in "$libname$shrext".*; do echo "$f"; done \<br>
> + | sed -e "s,^$libname$shrext\\\\.,," \<br>
> + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \<br>
> + | sed 1q ) 2>/dev/null`<br>
> + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then<br>
> + found_dir="$dir"<br>
> + found_so="$dir/$libname$shrext.$ver"<br>
> + fi<br>
> + else<br>
> + eval library_names=\"$acl_library_names_spec\"<br>
> + for f in $library_names; do<br>
> + if test -f "$dir/$f"; then<br>
> + found_dir="$dir"<br>
> + found_so="$dir/$f"<br>
> + break<br>
> + fi<br>
> + done<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + dnl Then look for a static library.<br>
> + if test "X$found_dir" = "X"; then<br>
> + if test -f "$dir/$libname.$acl_libext"; then<br>
> + found_dir="$dir"<br>
> + found_a="$dir/$libname.$acl_libext"<br>
> + fi<br>
> + fi<br>
> + if test "X$found_dir" != "X"; then<br>
> + if test -f "$dir/$<a href="http://libname.la" rel="noreferrer" target="_blank">libname.la</a>"; then<br>
> + found_la="$dir/$<a href="http://libname.la" rel="noreferrer" target="_blank">libname.la</a>"<br>
> + fi<br>
> + fi<br>
> + ;;<br>
> + esac<br>
> + if test "X$found_dir" != "X"; then<br>
> + break<br>
> + fi<br>
> + done<br>
> + fi<br>
> + if test "X$found_dir" != "X"; then<br>
> + dnl Found the library.<br>
> + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"<br>
> + if test "X$found_so" != "X"; then<br>
> + dnl Linking with a shared library. We attempt to hardcode its<br>
> + dnl directory into the executable's runpath, unless it's the<br>
> + dnl standard /usr/lib.<br>
> + if test "$enable_rpath" = no \<br>
> + || test "X$found_dir" = "X/usr/$acl_libdirstem" \<br>
> + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then<br>
> + dnl No hardcoding is needed.<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"<br>
> + else<br>
> + dnl Use an explicit option to hardcode DIR into the resulting<br>
> + dnl binary.<br>
> + dnl Potentially add DIR to ltrpathdirs.<br>
> + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.<br>
> + haveit=<br>
> + for x in $ltrpathdirs; do<br>
> + if test "X$x" = "X$found_dir"; then<br>
> + haveit=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$haveit"; then<br>
> + ltrpathdirs="$ltrpathdirs $found_dir"<br>
> + fi<br>
> + dnl The hardcoding into $LIBNAME is system dependent.<br>
> + if test "$acl_hardcode_direct" = yes; then<br>
> + dnl Using DIR/libNAME.so during linking hardcodes DIR into the<br>
> + dnl resulting binary.<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"<br>
> + else<br>
> + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then<br>
> + dnl Use an explicit option to hardcode DIR into the resulting<br>
> + dnl binary.<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"<br>
> + dnl Potentially add DIR to rpathdirs.<br>
> + dnl The rpathdirs will be appended to $LIBNAME at the end.<br>
> + haveit=<br>
> + for x in $rpathdirs; do<br>
> + if test "X$x" = "X$found_dir"; then<br>
> + haveit=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$haveit"; then<br>
> + rpathdirs="$rpathdirs $found_dir"<br>
> + fi<br>
> + else<br>
> + dnl Rely on "-L$found_dir".<br>
> + dnl But don't add it if it's already contained in the LDFLAGS<br>
> + dnl or the already constructed $LIBNAME<br>
> + haveit=<br>
> + for x in $LDFLAGS $LIB[]NAME; do<br>
> + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
> + if test "X$x" = "X-L$found_dir"; then<br>
> + haveit=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$haveit"; then<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"<br>
> + fi<br>
> + if test "$acl_hardcode_minus_L" != no; then<br>
> + dnl FIXME: Not sure whether we should use<br>
> + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"<br>
> + dnl here.<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"<br>
> + else<br>
> + dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH<br>
> + dnl here, because this doesn't fit in flags passed to the<br>
> + dnl compiler. So give up. No hardcoding. This affects only<br>
> + dnl very old systems.<br>
> + dnl FIXME: Not sure whether we should use<br>
> + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"<br>
> + dnl here.<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + else<br>
> + if test "X$found_a" != "X"; then<br>
> + dnl Linking with a static library.<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"<br>
> + else<br>
> + dnl We shouldn't come here, but anyway it's good to have a<br>
> + dnl fallback.<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"<br>
> + fi<br>
> + fi<br>
> + dnl Assume the include files are nearby.<br>
> + additional_includedir=<br>
> + case "$found_dir" in<br>
> + */$acl_libdirstem | */$acl_libdirstem/)<br>
> + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`<br>
> + if test "$name" = '$1'; then<br>
> + LIB[]NAME[]_PREFIX="$basedir"<br>
> + fi<br>
> + additional_includedir="$basedir/include"<br>
> + ;;<br>
> + */$acl_libdirstem2 | */$acl_libdirstem2/)<br>
> + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`<br>
> + if test "$name" = '$1'; then<br>
> + LIB[]NAME[]_PREFIX="$basedir"<br>
> + fi<br>
> + additional_includedir="$basedir/include"<br>
> + ;;<br>
> + esac<br>
> + if test "X$additional_includedir" != "X"; then<br>
> + dnl Potentially add $additional_includedir to $INCNAME.<br>
> + dnl But don't add it<br>
> + dnl 1. if it's the standard /usr/include,<br>
> + dnl 2. if it's /usr/local/include and we are using GCC on Linux,<br>
> + dnl 3. if it's already present in $CPPFLAGS or the already<br>
> + dnl constructed $INCNAME,<br>
> + dnl 4. if it doesn't exist as a directory.<br>
> + if test "X$additional_includedir" != "X/usr/include"; then<br>
> + haveit=<br>
> + if test "X$additional_includedir" = "X/usr/local/include"; then<br>
> + if test -n "$GCC"; then<br>
> + case $host_os in<br>
> + linux* | gnu* | k*bsd*-gnu) haveit=yes;;<br>
> + esac<br>
> + fi<br>
> + fi<br>
> + if test -z "$haveit"; then<br>
> + for x in $CPPFLAGS $INC[]NAME; do<br>
> + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
> + if test "X$x" = "X-I$additional_includedir"; then<br>
> + haveit=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$haveit"; then<br>
> + if test -d "$additional_includedir"; then<br>
> + dnl Really add $additional_includedir to $INCNAME.<br>
> + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + dnl Look for dependencies.<br>
> + if test -n "$found_la"; then<br>
> + dnl Read the .la file. It defines the variables<br>
> + dnl dlname, library_names, old_library, dependency_libs, current,<br>
> + dnl age, revision, installed, dlopen, dlpreopen, libdir.<br>
> + save_libdir="$libdir"<br>
> + case "$found_la" in<br>
> + */* | *\\*) . "$found_la" ;;<br>
> + *) . "./$found_la" ;;<br>
> + esac<br>
> + libdir="$save_libdir"<br>
> + dnl We use only dependency_libs.<br>
> + for dep in $dependency_libs; do<br>
> + case "$dep" in<br>
> + -L*)<br>
> + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`<br>
> + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.<br>
> + dnl But don't add it<br>
> + dnl 1. if it's the standard /usr/lib,<br>
> + dnl 2. if it's /usr/local/lib and we are using GCC on Linux,<br>
> + dnl 3. if it's already present in $LDFLAGS or the already<br>
> + dnl constructed $LIBNAME,<br>
> + dnl 4. if it doesn't exist as a directory.<br>
> + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \<br>
> + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then<br>
> + haveit=<br>
> + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \<br>
> + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then<br>
> + if test -n "$GCC"; then<br>
> + case $host_os in<br>
> + linux* | gnu* | k*bsd*-gnu) haveit=yes;;<br>
> + esac<br>
> + fi<br>
> + fi<br>
> + if test -z "$haveit"; then<br>
> + haveit=<br>
> + for x in $LDFLAGS $LIB[]NAME; do<br>
> + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
> + if test "X$x" = "X-L$additional_libdir"; then<br>
> + haveit=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$haveit"; then<br>
> + if test -d "$additional_libdir"; then<br>
> + dnl Really add $additional_libdir to $LIBNAME.<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"<br>
> + fi<br>
> + fi<br>
> + haveit=<br>
> + for x in $LDFLAGS $LTLIB[]NAME; do<br>
> + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
> + if test "X$x" = "X-L$additional_libdir"; then<br>
> + haveit=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$haveit"; then<br>
> + if test -d "$additional_libdir"; then<br>
> + dnl Really add $additional_libdir to $LTLIBNAME.<br>
> + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + ;;<br>
> + -R*)<br>
> + dir=`echo "X$dep" | sed -e 's/^X-R//'`<br>
> + if test "$enable_rpath" != no; then<br>
> + dnl Potentially add DIR to rpathdirs.<br>
> + dnl The rpathdirs will be appended to $LIBNAME at the end.<br>
> + haveit=<br>
> + for x in $rpathdirs; do<br>
> + if test "X$x" = "X$dir"; then<br>
> + haveit=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$haveit"; then<br>
> + rpathdirs="$rpathdirs $dir"<br>
> + fi<br>
> + dnl Potentially add DIR to ltrpathdirs.<br>
> + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.<br>
> + haveit=<br>
> + for x in $ltrpathdirs; do<br>
> + if test "X$x" = "X$dir"; then<br>
> + haveit=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$haveit"; then<br>
> + ltrpathdirs="$ltrpathdirs $dir"<br>
> + fi<br>
> + fi<br>
> + ;;<br>
> + -l*)<br>
> + dnl Handle this in the next round.<br>
> + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`<br>
> + ;;<br>
> + *.la)<br>
> + dnl Handle this in the next round. Throw away the .la's<br>
> + dnl directory; it is already contained in a preceding -L<br>
> + dnl option.<br>
> + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`<br>
> + ;;<br>
> + *)<br>
> + dnl Most likely an immediate library name.<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"<br>
> + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"<br>
> + ;;<br>
> + esac<br>
> + done<br>
> + fi<br>
> + else<br>
> + dnl Didn't find the library; assume it is in the system directories<br>
> + dnl known to the linker and runtime loader. (All the system<br>
> + dnl directories known to the linker should also be known to the<br>
> + dnl runtime loader, otherwise the system is severely misconfigured.)<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"<br>
> + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + done<br>
> + done<br>
> + if test "X$rpathdirs" != "X"; then<br>
> + if test -n "$acl_hardcode_libdir_separator"; then<br>
> + dnl Weird platform: only the last -rpath option counts, the user must<br>
> + dnl pass all path elements in one option. We can arrange that for a<br>
> + dnl single library, but not when more than one $LIBNAMEs are used.<br>
> + alldirs=<br>
> + for found_dir in $rpathdirs; do<br>
> + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"<br>
> + done<br>
> + dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.<br>
> + acl_save_libdir="$libdir"<br>
> + libdir="$alldirs"<br>
> + eval flag=\"$acl_hardcode_libdir_flag_spec\"<br>
> + libdir="$acl_save_libdir"<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"<br>
> + else<br>
> + dnl The -rpath options are cumulative.<br>
> + for found_dir in $rpathdirs; do<br>
> + acl_save_libdir="$libdir"<br>
> + libdir="$found_dir"<br>
> + eval flag=\"$acl_hardcode_libdir_flag_spec\"<br>
> + libdir="$acl_save_libdir"<br>
> + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"<br>
> + done<br>
> + fi<br>
> + fi<br>
> + if test "X$ltrpathdirs" != "X"; then<br>
> + dnl When using libtool, the option that works for both libraries and<br>
> + dnl executables is -R. The -R options are cumulative.<br>
> + for found_dir in $ltrpathdirs; do<br>
> + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"<br>
> + done<br>
> + fi<br>
> + popdef([PACKLIBS])<br>
> + popdef([PACKUP])<br>
> + popdef([PACK])<br>
> + popdef([NAME])<br>
> +])<br>
> +<br>
> +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,<br>
> +dnl unless already present in VAR.<br>
> +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes<br>
> +dnl contains two or three consecutive elements that belong together.<br>
> +AC_DEFUN([AC_LIB_APPENDTOVAR],<br>
> +[<br>
> + for element in [$2]; do<br>
> + haveit=<br>
> + for x in $[$1]; do<br>
> + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
> + if test "X$x" = "X$element"; then<br>
> + haveit=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$haveit"; then<br>
> + [$1]="${[$1]}${[$1]:+ }$element"<br>
> + fi<br>
> + done<br>
> +])<br>
> +<br>
> +dnl For those cases where a variable contains several -L and -l options<br>
> +dnl referring to unknown libraries and directories, this macro determines the<br>
> +dnl necessary additional linker options for the runtime path.<br>
> +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])<br>
> +dnl sets LDADDVAR to linker options needed together with LIBSVALUE.<br>
> +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,<br>
> +dnl otherwise linking without libtool is assumed.<br>
> +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],<br>
> +[<br>
> + AC_REQUIRE([AC_LIB_RPATH])<br>
> + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])<br>
> + $1=<br>
> + if test "$enable_rpath" != no; then<br>
> + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then<br>
> + dnl Use an explicit option to hardcode directories into the resulting<br>
> + dnl binary.<br>
> + rpathdirs=<br>
> + next=<br>
> + for opt in $2; do<br>
> + if test -n "$next"; then<br>
> + dir="$next"<br>
> + dnl No need to hardcode the standard /usr/lib.<br>
> + if test "X$dir" != "X/usr/$acl_libdirstem" \<br>
> + && test "X$dir" != "X/usr/$acl_libdirstem2"; then<br>
> + rpathdirs="$rpathdirs $dir"<br>
> + fi<br>
> + next=<br>
> + else<br>
> + case $opt in<br>
> + -L) next=yes ;;<br>
> + -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`<br>
> + dnl No need to hardcode the standard /usr/lib.<br>
> + if test "X$dir" != "X/usr/$acl_libdirstem" \<br>
> + && test "X$dir" != "X/usr/$acl_libdirstem2"; then<br>
> + rpathdirs="$rpathdirs $dir"<br>
> + fi<br>
> + next= ;;<br>
> + *) next= ;;<br>
> + esac<br>
> + fi<br>
> + done<br>
> + if test "X$rpathdirs" != "X"; then<br>
> + if test -n ""$3""; then<br>
> + dnl libtool is used for linking. Use -R options.<br>
> + for dir in $rpathdirs; do<br>
> + $1="${$1}${$1:+ }-R$dir"<br>
> + done<br>
> + else<br>
> + dnl The linker is used for linking directly.<br>
> + if test -n "$acl_hardcode_libdir_separator"; then<br>
> + dnl Weird platform: only the last -rpath option counts, the user<br>
> + dnl must pass all path elements in one option.<br>
> + alldirs=<br>
> + for dir in $rpathdirs; do<br>
> + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"<br>
> + done<br>
> + acl_save_libdir="$libdir"<br>
> + libdir="$alldirs"<br>
> + eval flag=\"$acl_hardcode_libdir_flag_spec\"<br>
> + libdir="$acl_save_libdir"<br>
> + $1="$flag"<br>
> + else<br>
> + dnl The -rpath options are cumulative.<br>
> + for dir in $rpathdirs; do<br>
> + acl_save_libdir="$libdir"<br>
> + libdir="$dir"<br>
> + eval flag=\"$acl_hardcode_libdir_flag_spec\"<br>
> + libdir="$acl_save_libdir"<br>
> + $1="${$1}${$1:+ }$flag"<br>
> + done<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + AC_SUBST([$1])<br>
> +])<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-prefix.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-prefix.m4<br>
> new file mode 100644<br>
> index 00000000000..8adb17bb916<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-prefix.m4<br>
> @@ -0,0 +1,249 @@<br>
> +# lib-prefix.m4 serial 14<br>
> +dnl Copyright (C) 2001-2005, 2008-2019 Free Software Foundation, Inc.<br>
> +dnl This file is free software; the Free Software Foundation<br>
> +dnl gives unlimited permission to copy and/or distribute it,<br>
> +dnl with or without modifications, as long as this notice is preserved.<br>
> +<br>
> +dnl From Bruno Haible.<br>
> +<br>
> +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed<br>
> +dnl to access previously installed libraries. The basic assumption is that<br>
> +dnl a user will want packages to use other packages he previously installed<br>
> +dnl with the same --prefix option.<br>
> +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate<br>
> +dnl libraries, but is otherwise very convenient.<br>
> +AC_DEFUN([AC_LIB_PREFIX],<br>
> +[<br>
> + AC_BEFORE([$0], [AC_LIB_LINKFLAGS])<br>
> + AC_REQUIRE([AC_PROG_CC])<br>
> + AC_REQUIRE([AC_CANONICAL_HOST])<br>
> + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])<br>
> + AC_REQUIRE([AC_LIB_PREPARE_PREFIX])<br>
> + dnl By default, look in $includedir and $libdir.<br>
> + use_additional=yes<br>
> + AC_LIB_WITH_FINAL_PREFIX([<br>
> + eval additional_includedir=\"$includedir\"<br>
> + eval additional_libdir=\"$libdir\"<br>
> + ])<br>
> + AC_ARG_WITH([lib-prefix],<br>
> +[[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib<br>
> + --without-lib-prefix don't search for libraries in includedir and libdir]],<br>
> +[<br>
> + if test "X$withval" = "Xno"; then<br>
> + use_additional=no<br>
> + else<br>
> + if test "X$withval" = "X"; then<br>
> + AC_LIB_WITH_FINAL_PREFIX([<br>
> + eval additional_includedir=\"$includedir\"<br>
> + eval additional_libdir=\"$libdir\"<br>
> + ])<br>
> + else<br>
> + additional_includedir="$withval/include"<br>
> + additional_libdir="$withval/$acl_libdirstem"<br>
> + fi<br>
> + fi<br>
> +])<br>
> + if test $use_additional = yes; then<br>
> + dnl Potentially add $additional_includedir to $CPPFLAGS.<br>
> + dnl But don't add it<br>
> + dnl 1. if it's the standard /usr/include,<br>
> + dnl 2. if it's already present in $CPPFLAGS,<br>
> + dnl 3. if it's /usr/local/include and we are using GCC on Linux,<br>
> + dnl 4. if it doesn't exist as a directory.<br>
> + if test "X$additional_includedir" != "X/usr/include"; then<br>
> + haveit=<br>
> + for x in $CPPFLAGS; do<br>
> + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
> + if test "X$x" = "X-I$additional_includedir"; then<br>
> + haveit=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$haveit"; then<br>
> + if test "X$additional_includedir" = "X/usr/local/include"; then<br>
> + if test -n "$GCC"; then<br>
> + case $host_os in<br>
> + linux* | gnu* | k*bsd*-gnu) haveit=yes;;<br>
> + esac<br>
> + fi<br>
> + fi<br>
> + if test -z "$haveit"; then<br>
> + if test -d "$additional_includedir"; then<br>
> + dnl Really add $additional_includedir to $CPPFLAGS.<br>
> + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + dnl Potentially add $additional_libdir to $LDFLAGS.<br>
> + dnl But don't add it<br>
> + dnl 1. if it's the standard /usr/lib,<br>
> + dnl 2. if it's already present in $LDFLAGS,<br>
> + dnl 3. if it's /usr/local/lib and we are using GCC on Linux,<br>
> + dnl 4. if it doesn't exist as a directory.<br>
> + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then<br>
> + haveit=<br>
> + for x in $LDFLAGS; do<br>
> + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
> + if test "X$x" = "X-L$additional_libdir"; then<br>
> + haveit=yes<br>
> + break<br>
> + fi<br>
> + done<br>
> + if test -z "$haveit"; then<br>
> + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then<br>
> + if test -n "$GCC"; then<br>
> + case $host_os in<br>
> + linux*) haveit=yes;;<br>
> + esac<br>
> + fi<br>
> + fi<br>
> + if test -z "$haveit"; then<br>
> + if test -d "$additional_libdir"; then<br>
> + dnl Really add $additional_libdir to $LDFLAGS.<br>
> + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + fi<br>
> + fi<br>
> +])<br>
> +<br>
> +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,<br>
> +dnl acl_final_exec_prefix, containing the values to which $prefix and<br>
> +dnl $exec_prefix will expand at the end of the configure script.<br>
> +AC_DEFUN([AC_LIB_PREPARE_PREFIX],<br>
> +[<br>
> + dnl Unfortunately, prefix and exec_prefix get only finally determined<br>
> + dnl at the end of configure.<br>
> + if test "X$prefix" = "XNONE"; then<br>
> + acl_final_prefix="$ac_default_prefix"<br>
> + else<br>
> + acl_final_prefix="$prefix"<br>
> + fi<br>
> + if test "X$exec_prefix" = "XNONE"; then<br>
> + acl_final_exec_prefix='${prefix}'<br>
> + else<br>
> + acl_final_exec_prefix="$exec_prefix"<br>
> + fi<br>
> + acl_save_prefix="$prefix"<br>
> + prefix="$acl_final_prefix"<br>
> + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"<br>
> + prefix="$acl_save_prefix"<br>
> +])<br>
> +<br>
> +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the<br>
> +dnl variables prefix and exec_prefix bound to the values they will have<br>
> +dnl at the end of the configure script.<br>
> +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],<br>
> +[<br>
> + acl_save_prefix="$prefix"<br>
> + prefix="$acl_final_prefix"<br>
> + acl_save_exec_prefix="$exec_prefix"<br>
> + exec_prefix="$acl_final_exec_prefix"<br>
> + $1<br>
> + exec_prefix="$acl_save_exec_prefix"<br>
> + prefix="$acl_save_prefix"<br>
> +])<br>
> +<br>
> +dnl AC_LIB_PREPARE_MULTILIB creates<br>
> +dnl - a variable acl_libdirstem, containing the basename of the libdir, either<br>
> +dnl "lib" or "lib64" or "lib/64",<br>
> +dnl - a variable acl_libdirstem2, as a secondary possible value for<br>
> +dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or<br>
> +dnl "lib/amd64".<br>
> +AC_DEFUN([AC_LIB_PREPARE_MULTILIB],<br>
> +[<br>
> + dnl There is no formal standard regarding lib and lib64.<br>
> + dnl On glibc systems, the current practice is that on a system supporting<br>
> + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under<br>
> + dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine<br>
> + dnl the compiler's default mode by looking at the compiler's library search<br>
> + dnl path. If at least one of its elements ends in /lib64 or points to a<br>
> + dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.<br>
> + dnl Otherwise we use the default, namely "lib".<br>
> + dnl On Solaris systems, the current practice is that on a system supporting<br>
> + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under<br>
> + dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or<br>
> + dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.<br>
> + AC_REQUIRE([AC_CANONICAL_HOST])<br>
> + AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT])<br>
> +<br>
> + case "$host_os" in<br>
> + solaris*)<br>
> + AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],<br>
> + [AC_COMPILE_IFELSE(<br>
> + [AC_LANG_SOURCE(<br>
> + [[#ifdef _LP64<br>
> + int ok;<br>
> + #else<br>
> + error fail<br>
> + #endif<br>
> + ]])],<br>
> + [gl_cv_solaris_64bit=yes],<br>
> + [gl_cv_solaris_64bit=no])<br>
> + ]);;<br>
> + esac<br>
> +<br>
> + dnl Allow the user to override the result by setting acl_cv_libdirstems.<br>
> + AC_CACHE_CHECK([for the common suffixes of directories in the library search path],<br>
> + [acl_cv_libdirstems],<br>
> + [acl_libdirstem=lib<br>
> + acl_libdirstem2=<br>
> + case "$host_os" in<br>
> + solaris*)<br>
> + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment<br>
> + dnl <<a href="https://docs.oracle.com/cd/E19253-01/816-5138/dev-env/index.html" rel="noreferrer" target="_blank">https://docs.oracle.com/cd/E19253-01/816-5138/dev-env/index.html</a>>.<br>
> + dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."<br>
> + dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the<br>
> + dnl symlink is missing, so we set acl_libdirstem2 too.<br>
> + if test $gl_cv_solaris_64bit = yes; then<br>
> + acl_libdirstem=lib/64<br>
> + case "$host_cpu" in<br>
> + sparc*) acl_libdirstem2=lib/sparcv9 ;;<br>
> + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;<br>
> + esac<br>
> + fi<br>
> + ;;<br>
> + *)<br>
> + dnl If $CC generates code for a 32-bit ABI, the libraries are<br>
> + dnl surely under $prefix/lib, not $prefix/lib64.<br>
> + if test "$HOST_CPU_C_ABI_32BIT" != yes; then<br>
> + dnl The result is a property of the system. However, non-system<br>
> + dnl compilers sometimes have odd library search paths. Therefore<br>
> + dnl prefer asking /usr/bin/gcc, if available, rather than $CC.<br>
> + searchpath=`(if test -f /usr/bin/gcc \<br>
> + && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \<br>
> + LC_ALL=C /usr/bin/gcc -print-search-dirs; \<br>
> + else \<br>
> + LC_ALL=C $CC -print-search-dirs; \<br>
> + fi) 2>/dev/null \<br>
> + | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`<br>
> + if test -n "$searchpath"; then<br>
> + acl_save_IFS="${IFS= }"; IFS=":"<br>
> + for searchdir in $searchpath; do<br>
> + if test -d "$searchdir"; then<br>
> + case "$searchdir" in<br>
> + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;<br>
> + */../ | */.. )<br>
> + # Better ignore directories of this form. They are misleading.<br>
> + ;;<br>
> + *) searchdir=`cd "$searchdir" && pwd`<br>
> + case "$searchdir" in<br>
> + */lib64 ) acl_libdirstem=lib64 ;;<br>
> + esac ;;<br>
> + esac<br>
> + fi<br>
> + done<br>
> + IFS="$acl_save_IFS"<br>
> + fi<br>
> + fi<br>
> + ;;<br>
> + esac<br>
> + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"<br>
> + acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2"<br>
> + ])<br>
> + # Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2.<br>
> + acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'`<br>
> + acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e '/,/s/.*,//'`<br>
> +])<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/nls.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/nls.m4<br>
> new file mode 100644<br>
> index 00000000000..b62f6148570<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/nls.m4<br>
> @@ -0,0 +1,32 @@<br>
> +# nls.m4 serial 5 (gettext-0.18)<br>
> +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019 Free Software<br>
> +dnl Foundation, Inc.<br>
> +dnl This file is free software; the Free Software Foundation<br>
> +dnl gives unlimited permission to copy and/or distribute it,<br>
> +dnl with or without modifications, as long as this notice is preserved.<br>
> +dnl<br>
> +dnl This file can be used in projects which are not available under<br>
> +dnl the GNU General Public License or the GNU Library General Public<br>
> +dnl License but which still want to provide support for the GNU gettext<br>
> +dnl functionality.<br>
> +dnl Please note that the actual code of the GNU gettext library is covered<br>
> +dnl by the GNU Library General Public License, and the rest of the GNU<br>
> +dnl gettext package is covered by the GNU General Public License.<br>
> +dnl They are *not* in the public domain.<br>
> +<br>
> +dnl Authors:<br>
> +dnl Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 1995-2000.<br>
> +dnl Bruno Haible <<a href="mailto:haible@clisp.cons.org" target="_blank">haible@clisp.cons.org</a>>, 2000-2003.<br>
> +<br>
> +AC_PREREQ([2.50])<br>
> +<br>
> +AC_DEFUN([AM_NLS],<br>
> +[<br>
> + AC_MSG_CHECKING([whether NLS is requested])<br>
> + dnl Default is enabled NLS<br>
> + AC_ARG_ENABLE([nls],<br>
> + [ --disable-nls do not use Native Language Support],<br>
> + USE_NLS=$enableval, USE_NLS=yes)<br>
> + AC_MSG_RESULT([$USE_NLS])<br>
> + AC_SUBST([USE_NLS])<br>
> +])<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/po.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/po.m4<br>
> new file mode 100644<br>
> index 00000000000..143792dba56<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/po.m4<br>
> @@ -0,0 +1,450 @@<br>
> +# po.m4 serial 30 (gettext-0.20)<br>
> +dnl Copyright (C) 1995-2014, 2016, 2018-2019 Free Software Foundation, Inc.<br>
> +dnl This file is free software; the Free Software Foundation<br>
> +dnl gives unlimited permission to copy and/or distribute it,<br>
> +dnl with or without modifications, as long as this notice is preserved.<br>
> +dnl<br>
> +dnl This file can be used in projects which are not available under<br>
> +dnl the GNU General Public License or the GNU Library General Public<br>
> +dnl License but which still want to provide support for the GNU gettext<br>
> +dnl functionality.<br>
> +dnl Please note that the actual code of the GNU gettext library is covered<br>
> +dnl by the GNU Library General Public License, and the rest of the GNU<br>
> +dnl gettext package is covered by the GNU General Public License.<br>
> +dnl They are *not* in the public domain.<br>
> +<br>
> +dnl Authors:<br>
> +dnl Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 1995-2000.<br>
> +dnl Bruno Haible <<a href="mailto:haible@clisp.cons.org" target="_blank">haible@clisp.cons.org</a>>, 2000-2003.<br>
> +<br>
> +AC_PREREQ([2.60])<br>
> +<br>
> +dnl Checks for all prerequisites of the po subdirectory.<br>
> +AC_DEFUN([AM_PO_SUBDIRS],<br>
> +[<br>
> + AC_REQUIRE([AC_PROG_MAKE_SET])dnl<br>
> + AC_REQUIRE([AC_PROG_INSTALL])dnl<br>
> + AC_REQUIRE([AC_PROG_MKDIR_P])dnl<br>
> + AC_REQUIRE([AC_PROG_SED])dnl<br>
> + AC_REQUIRE([AM_NLS])dnl<br>
> +<br>
> + dnl Release version of the gettext macros. This is used to ensure that<br>
> + dnl the gettext macros and po/<a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a> are in sync.<br>
> + AC_SUBST([GETTEXT_MACRO_VERSION], [0.20])<br>
> +<br>
> + dnl Perform the following tests also if --disable-nls has been given,<br>
> + dnl because they are needed for "make dist" to work.<br>
> +<br>
> + dnl Search for GNU msgfmt in the PATH.<br>
> + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.<br>
> + dnl The second test excludes FreeBSD msgfmt.<br>
> + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,<br>
> + [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&<br>
> + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],<br>
> + :)<br>
> + AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])<br>
> +<br>
> + dnl Test whether it is GNU msgfmt >= 0.15.<br>
> +changequote(,)dnl<br>
> + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in<br>
> + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;<br>
> + *) GMSGFMT_015=$GMSGFMT ;;<br>
> + esac<br>
> +changequote([,])dnl<br>
> + AC_SUBST([GMSGFMT_015])<br>
> +<br>
> + dnl Search for GNU xgettext 0.12 or newer in the PATH.<br>
> + dnl The first test excludes Solaris xgettext and early GNU xgettext versions.<br>
> + dnl The second test excludes FreeBSD xgettext.<br>
> + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,<br>
> + [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&<br>
> + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],<br>
> + :)<br>
> + dnl Remove leftover from FreeBSD xgettext call.<br>
> + rm -f messages.po<br>
> +<br>
> + dnl Test whether it is GNU xgettext >= 0.15.<br>
> +changequote(,)dnl<br>
> + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in<br>
> + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;<br>
> + *) XGETTEXT_015=$XGETTEXT ;;<br>
> + esac<br>
> +changequote([,])dnl<br>
> + AC_SUBST([XGETTEXT_015])<br>
> +<br>
> + dnl Search for GNU msgmerge 0.11 or newer in the PATH.<br>
> + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,<br>
> + [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)<br>
> +<br>
> + dnl Test whether it is GNU msgmerge >= 0.20.<br>
> + if LC_ALL=C $MSGMERGE --help | grep ' --for-msgfmt ' >/dev/null; then<br>
> + MSGMERGE_FOR_MSGFMT_OPTION='--for-msgfmt'<br>
> + else<br>
> + dnl Test whether it is GNU msgmerge >= 0.12.<br>
> + if LC_ALL=C $MSGMERGE --help | grep ' --no-fuzzy-matching ' >/dev/null; then<br>
> + MSGMERGE_FOR_MSGFMT_OPTION='--no-fuzzy-matching --no-location --quiet'<br>
> + else<br>
> + dnl With these old versions, $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) is<br>
> + dnl slow. But this is not a big problem, as such old gettext versions are<br>
> + dnl hardly in use any more.<br>
> + MSGMERGE_FOR_MSGFMT_OPTION='--no-location --quiet'<br>
> + fi<br>
> + fi<br>
> + AC_SUBST([MSGMERGE_FOR_MSGFMT_OPTION])<br>
> +<br>
> + dnl Support for AM_XGETTEXT_OPTION.<br>
> + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=<br>
> + AC_SUBST([XGETTEXT_EXTRA_OPTIONS])<br>
> +<br>
> + AC_CONFIG_COMMANDS([po-directories], [[<br>
> + for ac_file in $CONFIG_FILES; do<br>
> + # Support "outfile[:infile[:infile...]]"<br>
> + case "$ac_file" in<br>
> + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;<br>
> + esac<br>
> + # PO directories have a Makefile.in generated from <a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a>.<br>
> + case "$ac_file" in */Makefile.in)<br>
> + # Adjust a relative srcdir.<br>
> + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`<br>
> + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`<br>
> + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`<br>
> + # In autoconf-2.13 it is called $ac_given_srcdir.<br>
> + # In autoconf-2.50 it is called $srcdir.<br>
> + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"<br>
> + case "$ac_given_srcdir" in<br>
> + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;<br>
> + /*) top_srcdir="$ac_given_srcdir" ;;<br>
> + *) top_srcdir="$ac_dots$ac_given_srcdir" ;;<br>
> + esac<br>
> + # Treat a directory as a PO directory if and only if it has a<br>
> + # POTFILES.in file. This allows packages to have multiple PO<br>
> + # directories under different names or in different locations.<br>
> + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then<br>
> + rm -f "$ac_dir/POTFILES"<br>
> + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"<br>
> + gt_tab=`printf '\t'`<br>
> + 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"<br>
> + POMAKEFILEDEPS="POTFILES.in"<br>
> + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend<br>
> + # on $ac_dir but don't depend on user-specified configuration<br>
> + # parameters.<br>
> + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then<br>
> + # The LINGUAS file contains the set of available languages.<br>
> + if test -n "$OBSOLETE_ALL_LINGUAS"; then<br>
> + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> is obsolete" || echo "setting ALL_LINGUAS in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> is obsolete"<br>
> + fi<br>
> + ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`<br>
> + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"<br>
> + else<br>
> + # The set of available languages was given in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a>.<br>
> + ALL_LINGUAS=$OBSOLETE_ALL_LINGUAS<br>
> + fi<br>
> + # Compute POFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)<br>
> + # Compute UPDATEPOFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)<br>
> + # Compute DUMMYPOFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)<br>
> + # Compute GMOFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)<br>
> + case "$ac_given_srcdir" in<br>
> + .) srcdirpre= ;;<br>
> + *) srcdirpre='$(srcdir)/' ;;<br>
> + esac<br>
> + POFILES=<br>
> + UPDATEPOFILES=<br>
> + DUMMYPOFILES=<br>
> + GMOFILES=<br>
> + for lang in $ALL_LINGUAS; do<br>
> + POFILES="$POFILES $srcdirpre$lang.po"<br>
> + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"<br>
> + DUMMYPOFILES="$DUMMYPOFILES $lang.nop"<br>
> + GMOFILES="$GMOFILES $srcdirpre$lang.gmo"<br>
> + done<br>
> + # CATALOGS depends on both $ac_dir and the user's LINGUAS<br>
> + # environment variable.<br>
> + INST_LINGUAS=<br>
> + if test -n "$ALL_LINGUAS"; then<br>
> + for presentlang in $ALL_LINGUAS; do<br>
> + useit=no<br>
> + if test "%UNSET%" != "$LINGUAS"; then<br>
> + desiredlanguages="$LINGUAS"<br>
> + else<br>
> + desiredlanguages="$ALL_LINGUAS"<br>
> + fi<br>
> + for desiredlang in $desiredlanguages; do<br>
> + # Use the presentlang catalog if desiredlang is<br>
> + # a. equal to presentlang, or<br>
> + # b. a variant of presentlang (because in this case,<br>
> + # presentlang can be used as a fallback for messages<br>
> + # which are not translated in the desiredlang catalog).<br>
> + case "$desiredlang" in<br>
> + "$presentlang"*) useit=yes;;<br>
> + esac<br>
> + done<br>
> + if test $useit = yes; then<br>
> + INST_LINGUAS="$INST_LINGUAS $presentlang"<br>
> + fi<br>
> + done<br>
> + fi<br>
> + CATALOGS=<br>
> + if test -n "$INST_LINGUAS"; then<br>
> + for lang in $INST_LINGUAS; do<br>
> + CATALOGS="$CATALOGS $lang.gmo"<br>
> + done<br>
> + fi<br>
> + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"<br>
> + 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"<br>
> + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do<br>
> + if test -f "$f"; then<br>
> + case "$f" in<br>
> + *.orig | *.bak | *~) ;;<br>
> + *) cat "$f" >> "$ac_dir/Makefile" ;;<br>
> + esac<br>
> + fi<br>
> + done<br>
> + fi<br>
> + ;;<br>
> + esac<br>
> + done]],<br>
> + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute<br>
> + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS.<br>
> + OBSOLETE_ALL_LINGUAS="$ALL_LINGUAS"<br>
> + # Capture the value of LINGUAS because we need it to compute CATALOGS.<br>
> + LINGUAS="${LINGUAS-%UNSET%}"<br>
> + ])<br>
> +])<br>
> +<br>
> +dnl Postprocesses a Makefile in a directory containing PO files.<br>
> +AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],<br>
> +[<br>
> + # When this code is run, in config.status, two variables have already been<br>
> + # set:<br>
> + # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a>,<br>
> + # - LINGUAS is the value of the environment variable LINGUAS at configure<br>
> + # time.<br>
> +<br>
> +changequote(,)dnl<br>
> + # Adjust a relative srcdir.<br>
> + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`<br>
> + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`<br>
> + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`<br>
> + # In autoconf-2.13 it is called $ac_given_srcdir.<br>
> + # In autoconf-2.50 it is called $srcdir.<br>
> + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"<br>
> + case "$ac_given_srcdir" in<br>
> + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;<br>
> + /*) top_srcdir="$ac_given_srcdir" ;;<br>
> + *) top_srcdir="$ac_dots$ac_given_srcdir" ;;<br>
> + esac<br>
> +<br>
> + # Find a way to echo strings without interpreting backslash.<br>
> + if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then<br>
> + gt_echo='echo'<br>
> + else<br>
> + if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then<br>
> + gt_echo='printf %s\n'<br>
> + else<br>
> + echo_func () {<br>
> + cat <<EOT<br>
> +$*<br>
> +EOT<br>
> + }<br>
> + gt_echo='echo_func'<br>
> + fi<br>
> + fi<br>
> +<br>
> + # A sed script that extracts the value of VARIABLE from a Makefile.<br>
> + tab=`printf '\t'`<br>
> + sed_x_variable='<br>
> +# Test if the hold space is empty.<br>
> +x<br>
> +s/P/P/<br>
> +x<br>
> +ta<br>
> +# Yes it was empty. Look if we have the expected variable definition.<br>
> +/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{<br>
> + # Seen the first line of the variable definition.<br>
> + s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//<br>
> + ba<br>
> +}<br>
> +bd<br>
> +:a<br>
> +# Here we are processing a line from the variable definition.<br>
> +# Remove comment, more precisely replace it with a space.<br>
> +s/#.*$/ /<br>
> +# See if the line ends in a backslash.<br>
> +tb<br>
> +:b<br>
> +s/\\$//<br>
> +# Print the line, without the trailing backslash.<br>
> +p<br>
> +tc<br>
> +# There was no trailing backslash. The end of the variable definition is<br>
> +# reached. Clear the hold space.<br>
> +s/^.*$//<br>
> +x<br>
> +bd<br>
> +:c<br>
> +# A trailing backslash means that the variable definition continues in the<br>
> +# next line. Put a nonempty string into the hold space to indicate this.<br>
> +s/^.*$/P/<br>
> +x<br>
> +:d<br>
> +'<br>
> +changequote([,])dnl<br>
> +<br>
> + # Set POTFILES to the value of the Makefile variable POTFILES.<br>
> + sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`<br>
> + POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`<br>
> + # Compute POTFILES_DEPS as<br>
> + # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))<br>
> + POTFILES_DEPS=<br>
> + for file in $POTFILES; do<br>
> + POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"<br>
> + done<br>
> + POMAKEFILEDEPS=""<br>
> +<br>
> + if test -n "$OBSOLETE_ALL_LINGUAS"; then<br>
> + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> is obsolete" || echo "setting ALL_LINGUAS in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> is obsolete"<br>
> + fi<br>
> + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then<br>
> + # The LINGUAS file contains the set of available languages.<br>
> + ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`<br>
> + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"<br>
> + else<br>
> + # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.<br>
> + sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`<br>
> + ALL_LINGUAS=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`<br>
> + fi<br>
> + # Compute POFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)<br>
> + # Compute UPDATEPOFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)<br>
> + # Compute DUMMYPOFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)<br>
> + # Compute GMOFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)<br>
> + # Compute PROPERTIESFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).properties)<br>
> + # Compute CLASSFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).class)<br>
> + # Compute QMFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)<br>
> + # Compute MSGFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)<br>
> + # Compute RESOURCESDLLFILES<br>
> + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)<br>
> + case "$ac_given_srcdir" in<br>
> + .) srcdirpre= ;;<br>
> + *) srcdirpre='$(srcdir)/' ;;<br>
> + esac<br>
> + POFILES=<br>
> + UPDATEPOFILES=<br>
> + DUMMYPOFILES=<br>
> + GMOFILES=<br>
> + PROPERTIESFILES=<br>
> + CLASSFILES=<br>
> + QMFILES=<br>
> + MSGFILES=<br>
> + RESOURCESDLLFILES=<br>
> + for lang in $ALL_LINGUAS; do<br>
> + POFILES="$POFILES $srcdirpre$lang.po"<br>
> + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"<br>
> + DUMMYPOFILES="$DUMMYPOFILES $lang.nop"<br>
> + GMOFILES="$GMOFILES $srcdirpre$lang.gmo"<br>
> + PROPERTIESFILES="$PROPERTIESFILES \$(srcdir)/\$(DOMAIN)_$lang.properties"<br>
> + CLASSFILES="$CLASSFILES \$(srcdir)/\$(DOMAIN)_$lang.class"<br>
> + QMFILES="$QMFILES $srcdirpre$lang.qm"<br>
> + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`<br>
> + MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"<br>
> + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`<br>
> + RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"<br>
> + done<br>
> + # CATALOGS depends on both $ac_dir and the user's LINGUAS<br>
> + # environment variable.<br>
> + INST_LINGUAS=<br>
> + if test -n "$ALL_LINGUAS"; then<br>
> + for presentlang in $ALL_LINGUAS; do<br>
> + useit=no<br>
> + if test "%UNSET%" != "$LINGUAS"; then<br>
> + desiredlanguages="$LINGUAS"<br>
> + else<br>
> + desiredlanguages="$ALL_LINGUAS"<br>
> + fi<br>
> + for desiredlang in $desiredlanguages; do<br>
> + # Use the presentlang catalog if desiredlang is<br>
> + # a. equal to presentlang, or<br>
> + # b. a variant of presentlang (because in this case,<br>
> + # presentlang can be used as a fallback for messages<br>
> + # which are not translated in the desiredlang catalog).<br>
> + case "$desiredlang" in<br>
> + "$presentlang"*) useit=yes;;<br>
> + esac<br>
> + done<br>
> + if test $useit = yes; then<br>
> + INST_LINGUAS="$INST_LINGUAS $presentlang"<br>
> + fi<br>
> + done<br>
> + fi<br>
> + CATALOGS=<br>
> + JAVACATALOGS=<br>
> + QTCATALOGS=<br>
> + TCLCATALOGS=<br>
> + CSHARPCATALOGS=<br>
> + if test -n "$INST_LINGUAS"; then<br>
> + for lang in $INST_LINGUAS; do<br>
> + CATALOGS="$CATALOGS $lang.gmo"<br>
> + JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"<br>
> + QTCATALOGS="$QTCATALOGS $lang.qm"<br>
> + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`<br>
> + TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"<br>
> + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`<br>
> + CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"<br>
> + done<br>
> + fi<br>
> +<br>
> + 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"<br>
> + tab=`printf '\t'`<br>
> + if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then<br>
> + # Add dependencies that cannot be formulated as a simple suffix rule.<br>
> + for lang in $ALL_LINGUAS; do<br>
> + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`<br>
> + cat >> "$ac_file.tmp" <<EOF<br>
> +$frobbedlang.msg: $lang.po<br>
> +${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \<br>
> +${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }<br>
> +EOF<br>
> + done<br>
> + fi<br>
> + if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then<br>
> + # Add dependencies that cannot be formulated as a simple suffix rule.<br>
> + for lang in $ALL_LINGUAS; do<br>
> + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`<br>
> + cat >> "$ac_file.tmp" <<EOF<br>
> +$frobbedlang/\$(DOMAIN).resources.dll: $lang.po<br>
> +${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \<br>
> +${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }<br>
> +EOF<br>
> + done<br>
> + fi<br>
> + if test -n "$POMAKEFILEDEPS"; then<br>
> + cat >> "$ac_file.tmp" <<EOF<br>
> +Makefile: $POMAKEFILEDEPS<br>
> +EOF<br>
> + fi<br>
> + mv "$ac_file.tmp" "$ac_file"<br>
> +])<br>
> +<br>
> +dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.<br>
> +AC_DEFUN([AM_XGETTEXT_OPTION_INIT],<br>
> +[<br>
> + XGETTEXT_EXTRA_OPTIONS=<br>
> +])<br>
> +<br>
> +dnl Registers an option to be passed to xgettext in the po subdirectory.<br>
> +AC_DEFUN([AM_XGETTEXT_OPTION],<br>
> +[<br>
> + AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])<br>
> + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"<br>
> +])<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/progtest.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/progtest.m4<br>
> new file mode 100644<br>
> index 00000000000..5f186b14909<br>
> --- /dev/null<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/progtest.m4<br>
> @@ -0,0 +1,91 @@<br>
> +# progtest.m4 serial 7 (gettext-0.18.2)<br>
> +dnl Copyright (C) 1996-2003, 2005, 2008-2019 Free Software Foundation, Inc.<br>
> +dnl This file is free software; the Free Software Foundation<br>
> +dnl gives unlimited permission to copy and/or distribute it,<br>
> +dnl with or without modifications, as long as this notice is preserved.<br>
> +dnl<br>
> +dnl This file can be used in projects which are not available under<br>
> +dnl the GNU General Public License or the GNU Library General Public<br>
> +dnl License but which still want to provide support for the GNU gettext<br>
> +dnl functionality.<br>
> +dnl Please note that the actual code of the GNU gettext library is covered<br>
> +dnl by the GNU Library General Public License, and the rest of the GNU<br>
> +dnl gettext package is covered by the GNU General Public License.<br>
> +dnl They are *not* in the public domain.<br>
> +<br>
> +dnl Authors:<br>
> +dnl Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 1996.<br>
> +<br>
> +AC_PREREQ([2.50])<br>
> +<br>
> +# Search path for a program which passes the given test.<br>
> +<br>
> +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,<br>
> +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])<br>
> +AC_DEFUN([AM_PATH_PROG_WITH_TEST],<br>
> +[<br>
> +# Prepare PATH_SEPARATOR.<br>
> +# The user is always right.<br>
> +if test "${PATH_SEPARATOR+set}" != set; then<br>
> + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which<br>
> + # contains only /bin. Note that ksh looks also at the FPATH variable,<br>
> + # so we have to set that as well for the test.<br>
> + PATH_SEPARATOR=:<br>
> + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \<br>
> + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \<br>
> + || PATH_SEPARATOR=';'<br>
> + }<br>
> +fi<br>
> +<br>
> +# Find out how to test for executable files. Don't use a zero-byte file,<br>
> +# as systems may use methods other than mode bits to determine executability.<br>
> +cat >conf$$.file <<_ASEOF<br>
> +#! /bin/sh<br>
> +exit 0<br>
> +_ASEOF<br>
> +chmod +x conf$$.file<br>
> +if test -x conf$$.file >/dev/null 2>&1; then<br>
> + ac_executable_p="test -x"<br>
> +else<br>
> + ac_executable_p="test -f"<br>
> +fi<br>
> +rm -f conf$$.file<br>
> +<br>
> +# Extract the first word of "$2", so it can be a program name with args.<br>
> +set dummy $2; ac_word=[$]2<br>
> +AC_MSG_CHECKING([for $ac_word])<br>
> +AC_CACHE_VAL([ac_cv_path_$1],<br>
> +[case "[$]$1" in<br>
> + [[\\/]]* | ?:[[\\/]]*)<br>
> + ac_cv_path_$1="[$]$1" # Let the user override the test with a path.<br>
> + ;;<br>
> + *)<br>
> + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR<br>
> + for ac_dir in ifelse([$5], , $PATH, [$5]); do<br>
> + IFS="$ac_save_IFS"<br>
> + test -z "$ac_dir" && ac_dir=.<br>
> + for ac_exec_ext in '' $ac_executable_extensions; do<br>
> + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then<br>
> + echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD<br>
> + if [$3]; then<br>
> + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"<br>
> + break 2<br>
> + fi<br>
> + fi<br>
> + done<br>
> + done<br>
> + IFS="$ac_save_IFS"<br>
> +dnl If no 4th arg is given, leave the cache variable unset,<br>
> +dnl so AC_PATH_PROGS will keep looking.<br>
> +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"<br>
> +])dnl<br>
> + ;;<br>
> +esac])dnl<br>
> +$1="$ac_cv_path_$1"<br>
> +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then<br>
> + AC_MSG_RESULT([$][$1])<br>
> +else<br>
> + AC_MSG_RESULT([no])<br>
> +fi<br>
> +AC_SUBST([$1])dnl<br>
> +])<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/config.rpath b/meta/recipes-core/gettext/gettext-minimal-0.20.1/config.rpath<br>
> similarity index 99%<br>
> rename from meta/recipes-core/gettext/gettext-minimal-0.19.8.1/config.rpath<br>
> rename to meta/recipes-core/gettext/gettext-minimal-0.20.1/config.rpath<br>
> index 98183ff2f2e..be202c1a9e7 100755<br>
> --- a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/config.rpath<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/config.rpath<br>
> @@ -2,7 +2,7 @@<br>
> # Output a system dependent set of variables, describing how to set the<br>
> # run time search path of shared libraries in an executable.<br>
> #<br>
> -# Copyright 1996-2016 Free Software Foundation, Inc.<br>
> +# Copyright 1996-2019 Free Software Foundation, Inc.<br>
> # Taken from GNU libtool, 2001<br>
> # Originally by Gordon Matzigkeit <<a href="mailto:gord@gnu.ai.mit.edu" target="_blank">gord@gnu.ai.mit.edu</a>>, 1996<br>
> #<br>
> diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/remove-potcdate.sin b/meta/recipes-core/gettext/gettext-minimal-0.20.1/remove-potcdate.sin<br>
> similarity index 50%<br>
> rename from meta/recipes-core/gettext/gettext-minimal-0.19.8.1/remove-potcdate.sin<br>
> rename to meta/recipes-core/gettext/gettext-minimal-0.20.1/remove-potcdate.sin<br>
> index 2436c49e786..8c70dfbf148 100644<br>
> --- a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/remove-potcdate.sin<br>
> +++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/remove-potcdate.sin<br>
> @@ -1,6 +1,12 @@<br>
> -# Sed script that remove the POT-Creation-Date line in the header entry<br>
> +# Sed script that removes the POT-Creation-Date line in the header entry<br>
> # from a POT file.<br>
> #<br>
> +# Copyright (C) 2002 Free Software Foundation, Inc.<br>
> +# Copying and distribution of this file, with or without modification,<br>
> +# are permitted in any medium without royalty provided the copyright<br>
> +# notice and this notice are preserved. This file is offered as-is,<br>
> +# without any warranty.<br>
> +#<br>
> # The distinction between the first and the following occurrences of the<br>
> # pattern is achieved by looking at the hold space.<br>
> /^"POT-Creation-Date: .*"$/{<br>
> diff --git a/meta/recipes-core/gettext/<a href="http://gettext-minimal-native_0.19.8.1.bb" rel="noreferrer" target="_blank">gettext-minimal-native_0.19.8.1.bb</a> b/meta/recipes-core/gettext/<a href="http://gettext-minimal-native_0.20.1.bb" rel="noreferrer" target="_blank">gettext-minimal-native_0.20.1.bb</a><br>
> similarity index 86%<br>
> rename from meta/recipes-core/gettext/<a href="http://gettext-minimal-native_0.19.8.1.bb" rel="noreferrer" target="_blank">gettext-minimal-native_0.19.8.1.bb</a><br>
> rename to meta/recipes-core/gettext/<a href="http://gettext-minimal-native_0.20.1.bb" rel="noreferrer" target="_blank">gettext-minimal-native_0.20.1.bb</a><br>
> index 26ff19975d2..7a4dcbec57b 100644<br>
> --- a/meta/recipes-core/gettext/<a href="http://gettext-minimal-native_0.19.8.1.bb" rel="noreferrer" target="_blank">gettext-minimal-native_0.19.8.1.bb</a><br>
> +++ b/meta/recipes-core/gettext/<a href="http://gettext-minimal-native_0.20.1.bb" rel="noreferrer" target="_blank">gettext-minimal-native_0.20.1.bb</a><br>
> @@ -3,12 +3,11 @@ DESCRIPTION = "Contains the m4 macros sufficient to support building \<br>
> autoconf/automake. This provides a significant build time speedup by \<br>
> the removal of gettext-native from most dependency chains (now only \<br>
> needed for gettext for the target)."<br>
> -SRC_URI = "file://aclocal.tgz \<br>
> +SRC_URI = "file://aclocal/ \<br>
> file://config.rpath \<br>
> file://<a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a> \<br>
> file://remove-potcdate.sin \<br>
> file://COPYING \<br>
> - file://0001-PATCH-Disable-the-test-to-convert-euc-jp.patch \<br>
> "<br>
> <br>
> INHIBIT_DEFAULT_DEPS = "1"<br>
> @@ -23,7 +22,7 @@ S = "${WORKDIR}"<br>
> <br>
> do_install () {<br>
> install -d ${D}${datadir}/aclocal/<br>
> - cp ${WORKDIR}/*.m4 ${D}${datadir}/aclocal/<br>
> + cp ${WORKDIR}/aclocal/*.m4 ${D}${datadir}/aclocal/<br>
> install -d ${D}${datadir}/gettext/po/<br>
> cp ${WORKDIR}/config.rpath ${D}${datadir}/gettext/<br>
> cp ${WORKDIR}/<a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a> ${D}${datadir}/gettext/po/<br>
> <br>
<br>
</blockquote></div></div>