diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-12-28 00:06:36 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-12-28 00:06:36 +0000 |
commit | 6eb5949dd99d174393465069c2fd0bab32deddcc (patch) | |
tree | d104f72ac2dcb0f592b1c8e06a5af6790bd4080c /gettext-tools/tests | |
parent | 482840e61f86ca321838a91e902c41d40c098bbb (diff) | |
download | gettext-tarball-6eb5949dd99d174393465069c2fd0bab32deddcc.tar.gz |
gettext-0.19.7gettext-0.19.7
Diffstat (limited to 'gettext-tools/tests')
47 files changed, 2847 insertions, 248 deletions
diff --git a/gettext-tools/tests/ChangeLog b/gettext-tools/tests/ChangeLog.1 index 47c51ff..1df1b73 100644 --- a/gettext-tools/tests/ChangeLog +++ b/gettext-tools/tests/ChangeLog.1 @@ -1,3 +1,139 @@ +2015-09-11 Daiki Ueno <ueno@gnu.org> + + * gettext 0.19.6 released. + +2015-06-11 Philip Withnall <philip.withnall@collabora.co.uk> + + xgettext: add support for AppData files + * Makefile.am (TESTS): Add xgettext-appdata-1. + * xgettext-appdata-1: New file. + +2015-08-21 Daiki Ueno <ueno@gnu.org> + + * Makefile.am (check_PROGRAMS): Rename from noinst_PROGRAMS, to + defer the compilation until required. + +2015-07-28 Daiki Ueno <ueno@gnu.org> + + * autopoint-2: Add checks for AM_GNU_GETTEXT_REQUIRE_VERSION. + +2015-07-28 Daiki Ueno <ueno@gnu.org> + + * init-env.in (ARCHIVE_VERSION): New substituted variable. + * autopoint-2: Use ARCHIVE_VERSION, instead of the hard-coded + version string. + * autopoint-3: Likewise. + +2015-07-10 Daiki Ueno <ueno@gnu.org> + + * gettext 0.19.5 released. + +2015-06-24 Daiki Ueno <ueno@gnu.org> + + * autopoint-2 (required_gettext_version): Update to 0.19.5. + * autopoint-3 (required_gettext_version): Likewise. + +2015-06-24 Daiki Ueno <ueno@gnu.org> + + * lang-bash: Skip if "bash --help" isn't localized on Mac OS X. + +2015-06-24 Daiki Ueno <ueno@gnu.org> + + * msgfilter-8: Port the "echo -n" equivalent from gettext-2. + Reported by Paul Zimmermann in: + <https://lists.gnu.org/archive/html/bug-gettext/2015-06/msg00019.html>. + +2015-06-24 Daiki Ueno <ueno@gnu.org> + + * cldr-plurals-1: Skip if XML is not supported. + * msginit-4: Likewise. + +2015-06-24 Daiki Ueno <ueno@gnu.org> + + * format-kde-kuit-1: Skip if KDE KUIT format is not supported. + * format-kde-kuit-2: Likewise. + Suggested by Chusslove Illich. + +2015-06-23 Daiki Ueno <ueno@gnu.org> + + * msginit-4: Don't check the Project-Id-Version: field, which + cannot be generated since we can't rely on the project-id script + when $builddir != $srcdir. + +2015-06-23 Daiki Ueno <ueno@gnu.org> + + * msginit-4: New file. + * common/supplemental/plurals.xml: New data file. + * Makefile.am (TESTS): Add new tests. + (EXTRA_DIST): Add new data file. + +2015-06-22 Daiki Ueno <ueno@gnu.org> + + * cldr-plurals-1: New file. + * Makefile.am (TESTS): Add new tests. + +2015-03-12 Daiki Ueno <ueno@gnu.org> + + * Makefile.am (sentence_CPPFLAGS): Add -I$(top_srcdir)/src and + $(AM_CPPFLAGS). + +2015-03-05 Daiki Ueno <ueno@gnu.org> + + * format-kde-kuit-1: New file. + * format-kde-kuit-2: New file. + * Makefile.am (TESTS): Add new tests. + +2015-03-03 Daiki Ueno <ueno@gnu.org> + + * xgettext-14: New file. + * sentence.c: New file + * Makefile.am (TESTS): Add new tests. + (noinst_PROGRAMS): Add 'sentence'. + (sentence_SOURCES): New variable. + (sentence_CPPFLAGS): New variable. + (sentence_LDADD): New variable. + +2015-02-06 Daiki Ueno <ueno@gnu.org> + + tests: Fix "broken pipe" error in msgfilter-7 + * msgfilter-7: Eat up filter input to avoid EPIPE in the parent + msgfilter process, which was exposed on AIX 5. + Reported by Michael Felt. + +2015-02-05 Alex Henrie <alexhenrie24@gmail.com> (tiny change) + + * xgettext-13: New file. + * Makefile.am (TESTS): Add new test. + * mm-viet.out: Adjust to the recent line-wrapping behavior change. + +2015-01-29 Daiki Ueno <ueno@gnu.org> + + * msgexec-6: New file. + * Makefile.am (TESTS): Add new test. + +2015-01-28 Daiki Ueno <ueno@gnu.org> + + * msgfilter-8: New file. + * Makefile.am (TESTS): Add new test. + +2015-01-16 Daiki Ueno <ueno@gnu.org> + + * xgettext-desktop-1: Check "invalid non-blank character" warning. + +2015-01-13 Daiki Ueno <ueno@gnu.org> + + * xgettext-c-20: Improve test coverage of raw string tests. + +2015-01-13 Daiki Ueno <ueno@gnu.org> + + * xgettext-c-20: Adjust to the latest xgettext C++ scanner change; + don't accept unbalanced prefix in raw string literal. + +2015-01-13 Daiki Ueno <ueno@gnu.org> + + * xgettext-c-20: Adjust the source file name from *.c to *.cc to + enable handling of raw string literals. + 2014-12-24 Daiki Ueno <ueno@gnu.org> * gettext 0.19.4 released. diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am index 5a0d3c0..d3ffb75 100644 --- a/gettext-tools/tests/Makefile.am +++ b/gettext-tools/tests/Makefile.am @@ -1,5 +1,6 @@ ## Makefile for the gettext-tools/tests subdirectory of GNU gettext -## Copyright (C) 1995-1997, 2001-2010 Free Software Foundation, Inc. +## Copyright (C) 1995-1997, 2001-2010, 2015 Free Software Foundation, +## Inc. ## ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -40,9 +41,9 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \ msgcomm-26 msgcomm-27 msgcomm-28 \ msgconv-1 msgconv-2 msgconv-3 msgconv-4 msgconv-5 msgconv-6 msgconv-7 \ msgen-1 msgen-2 msgen-3 msgen-4 \ - msgexec-1 msgexec-2 msgexec-3 msgexec-4 msgexec-5 \ + msgexec-1 msgexec-2 msgexec-3 msgexec-4 msgexec-5 msgexec-6 \ msgfilter-1 msgfilter-2 msgfilter-3 msgfilter-4 msgfilter-5 \ - msgfilter-6 msgfilter-7 \ + msgfilter-6 msgfilter-7 msgfilter-8 \ msgfilter-sr-latin-1 msgfilter-quote-1 \ msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \ msgfmt-8 msgfmt-9 msgfmt-10 msgfmt-11 msgfmt-12 msgfmt-13 msgfmt-14 \ @@ -50,9 +51,10 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \ msgfmt-properties-1 \ msgfmt-qt-1 msgfmt-qt-2 \ msgfmt-desktop-1 msgfmt-desktop-2 \ + msgfmt-xml-1 msgfmt-xml-2 \ msggrep-1 msggrep-2 msggrep-3 msggrep-4 msggrep-5 msggrep-6 msggrep-7 \ msggrep-8 msggrep-9 msggrep-10 msggrep-11 \ - msginit-1 msginit-2 msginit-3 \ + msginit-1 msginit-2 msginit-3 msginit-4 \ msgmerge-1 msgmerge-2 msgmerge-3 msgmerge-4 msgmerge-5 msgmerge-6 \ msgmerge-7 msgmerge-8 msgmerge-9 msgmerge-10 msgmerge-11 msgmerge-12 \ msgmerge-13 msgmerge-14 msgmerge-15 msgmerge-16 msgmerge-17 \ @@ -72,11 +74,14 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \ recode-sr-latin-1 recode-sr-latin-2 \ xgettext-2 xgettext-3 xgettext-4 xgettext-5 xgettext-6 \ xgettext-7 xgettext-8 xgettext-9 xgettext-10 xgettext-11 xgettext-12 \ + xgettext-13 xgettext-14 \ + xgettext-appdata-1 \ xgettext-awk-1 xgettext-awk-2 \ xgettext-c-2 xgettext-c-3 xgettext-c-4 xgettext-c-5 \ xgettext-c-6 xgettext-c-7 xgettext-c-8 xgettext-c-9 xgettext-c-10 \ xgettext-c-11 xgettext-c-12 xgettext-c-13 xgettext-c-14 xgettext-c-15 \ xgettext-c-16 xgettext-c-17 xgettext-c-18 xgettext-c-19 xgettext-c-20 \ + xgettext-c-21 \ xgettext-csharp-1 xgettext-csharp-2 xgettext-csharp-3 \ xgettext-csharp-4 xgettext-csharp-5 xgettext-csharp-6 \ xgettext-csharp-7 xgettext-csharp-8 \ @@ -109,6 +114,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \ xgettext-vala-1 \ xgettext-gsettings-1 \ xgettext-desktop-1 \ + xgettext-its-1 \ format-awk-1 format-awk-2 \ format-boost-1 format-boost-2 \ format-c-1 format-c-2 format-c-3 format-c-4 format-c-5 \ @@ -118,6 +124,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \ format-gfc-internal-1 format-gfc-internal-2 \ format-java-1 format-java-2 \ format-kde-1 format-kde-2 \ + format-kde-kuit-1 format-kde-kuit-2 \ format-librep-1 format-librep-2 \ format-lisp-1 format-lisp-2 \ format-php-1 format-php-2 \ @@ -136,13 +143,13 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \ format-lua-1 format-lua-2 \ format-javascript-1 format-javascript-2 \ plural-1 plural-2 \ - gettextpo-1 \ + gettextpo-1 sentence \ lang-c lang-c++ lang-objc lang-sh lang-bash lang-python-1 \ lang-python-2 lang-clisp lang-elisp lang-librep lang-guile \ lang-smalltalk lang-java lang-csharp lang-gawk lang-pascal \ lang-ycp lang-tcl lang-perl-1 lang-perl-2 lang-php lang-po lang-rst \ lang-lua lang-javascript lang-vala \ - autopoint-1 autopoint-2 autopoint-3 + autopoint-1 autopoint-2 autopoint-3 cldr-plurals-1 EXTRA_DIST += init.sh init.cfg $(TESTS) \ test.mo overflow-1.mo overflow-2.mo overflow-3.mo overflow-4.mo \ @@ -152,12 +159,12 @@ EXTRA_DIST += init.sh init.cfg $(TESTS) \ msguniq-a.in msguniq-a.inp msguniq-a.out \ qttest_pl.po qttest_pl.qm \ qttest2_de.po qttest2_de.qm qttest2_de.ts \ - ChangeLog.0 \ gettext-3-1.po gettext-3-2.po gettext-4.po gettext-5.po \ gettext-6-1.po gettext-6-2.po gettext-7.po \ gettextpo-1.de.po \ xgettext-1 \ - xgettext-c-1 + xgettext-c-1 xg-c-21.c \ + common/supplemental/plurals.xml XGETTEXT = ../src/xgettext @@ -210,7 +217,7 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ LDADD = $(LDADD_@USE_INCLUDED_LIBINTL@) @INTL_MACOSX_LIBS@ LDADD_yes = ../intl/libintl.la @LTLIBTHREAD@ LDADD_no = ../intl/libgnuintl.la @LTLIBTHREAD@ @LTLIBINTL@ -noinst_PROGRAMS = tstgettext tstngettext testlocale gettext-3-prg gettext-4-prg gettext-5-prg gettext-6-prg gettext-7-prg gettext-8-prg cake fc3 fc4 fc5 gettextpo-1-prg +check_PROGRAMS = tstgettext tstngettext testlocale gettext-3-prg gettext-4-prg gettext-5-prg gettext-6-prg gettext-7-prg gettext-8-prg cake fc3 fc4 fc5 gettextpo-1-prg sentence tstgettext_SOURCES = tstgettext.c setlocale.c tstgettext_CFLAGS = -DINSTALLDIR=\".\" tstgettext_LDADD = ../gnulib-lib/libgettextlib.la $(LDADD) @@ -254,6 +261,9 @@ gettextpo_1_prg_CPPFLAGS = \ # Don't add more libraries here. This test must check whether libgettextpo is # self contained. gettextpo_1_prg_LDADD = ../libgettextpo/libgettextpo.la $(LDADD) +sentence_SOURCES = sentence.c +sentence_CPPFLAGS = $(AM_CPPFLAGS) -I../src -I$(top_srcdir)/src +sentence_LDADD = ../src/libgettextsrc.la $(LDADD) # Clean up after Solaris cc. clean-local: diff --git a/gettext-tools/tests/Makefile.in b/gettext-tools/tests/Makefile.in index 4cbdce9..f00fa3b 100644 --- a/gettext-tools/tests/Makefile.in +++ b/gettext-tools/tests/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,9 +13,18 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -77,21 +86,116 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -noinst_PROGRAMS = tstgettext$(EXEEXT) tstngettext$(EXEEXT) \ +TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 \ + gettext-7 gettext-8 msgattrib-1 msgattrib-2 msgattrib-3 \ + msgattrib-4 msgattrib-5 msgattrib-6 msgattrib-7 msgattrib-8 \ + msgattrib-9 msgattrib-10 msgattrib-11 msgattrib-12 \ + msgattrib-13 msgattrib-14 msgattrib-15 msgattrib-16 \ + msgattrib-17 msgattrib-18 msgattrib-19 msgattrib-properties-1 \ + msgcat-1 msgcat-2 msgcat-3 msgcat-4 msgcat-5 msgcat-6 msgcat-7 \ + msgcat-8 msgcat-9 msgcat-10 msgcat-11 msgcat-12 msgcat-13 \ + msgcat-14 msgcat-15 msgcat-16 msgcat-17 msgcat-18 msgcat-19 \ + msgcat-20 msgcat-properties-1 msgcat-properties-2 \ + msgcat-stringtable-1 msgcmp-1 msgcmp-2 msgcmp-3 msgcmp-4 \ + msgcomm-1 msgcomm-2 msgcomm-3 msgcomm-4 msgcomm-5 msgcomm-6 \ + msgcomm-7 msgcomm-8 msgcomm-9 msgcomm-10 msgcomm-11 msgcomm-12 \ + msgcomm-13 msgcomm-14 msgcomm-15 msgcomm-16 msgcomm-17 \ + msgcomm-18 msgcomm-19 msgcomm-20 msgcomm-21 msgcomm-22 \ + msgcomm-23 msgcomm-24 msgcomm-25 msgcomm-26 msgcomm-27 \ + msgcomm-28 msgconv-1 msgconv-2 msgconv-3 msgconv-4 msgconv-5 \ + msgconv-6 msgconv-7 msgen-1 msgen-2 msgen-3 msgen-4 msgexec-1 \ + msgexec-2 msgexec-3 msgexec-4 msgexec-5 msgexec-6 msgfilter-1 \ + msgfilter-2 msgfilter-3 msgfilter-4 msgfilter-5 msgfilter-6 \ + msgfilter-7 msgfilter-8 msgfilter-sr-latin-1 msgfilter-quote-1 \ + msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \ + msgfmt-8 msgfmt-9 msgfmt-10 msgfmt-11 msgfmt-12 msgfmt-13 \ + msgfmt-14 msgfmt-15 msgfmt-16 msgfmt-17 msgfmt-18 \ + msgfmt-properties-1 msgfmt-qt-1 msgfmt-qt-2 msgfmt-desktop-1 \ + msgfmt-desktop-2 msgfmt-xml-1 msgfmt-xml-2 msggrep-1 msggrep-2 \ + msggrep-3 msggrep-4 msggrep-5 msggrep-6 msggrep-7 msggrep-8 \ + msggrep-9 msggrep-10 msggrep-11 msginit-1 msginit-2 msginit-3 \ + msginit-4 msgmerge-1 msgmerge-2 msgmerge-3 msgmerge-4 \ + msgmerge-5 msgmerge-6 msgmerge-7 msgmerge-8 msgmerge-9 \ + msgmerge-10 msgmerge-11 msgmerge-12 msgmerge-13 msgmerge-14 \ + msgmerge-15 msgmerge-16 msgmerge-17 msgmerge-18 msgmerge-19 \ + msgmerge-20 msgmerge-21 msgmerge-22 msgmerge-23 msgmerge-24 \ + msgmerge-25 msgmerge-compendium-1 msgmerge-compendium-2 \ + msgmerge-compendium-3 msgmerge-compendium-4 \ + msgmerge-compendium-5 msgmerge-compendium-6 \ + msgmerge-properties-1 msgmerge-properties-2 msgmerge-update-1 \ + msgmerge-update-2 msgmerge-update-3 msgmerge-update-4 \ + msgunfmt-1 msgunfmt-2 msgunfmt-3 msgunfmt-csharp-1 \ + msgunfmt-java-1 msgunfmt-properties-1 msgunfmt-tcl-1 msguniq-1 \ + msguniq-2 msguniq-3 msguniq-4 msguniq-5 msguniq-6 msguniq-7 \ + recode-sr-latin-1 recode-sr-latin-2 xgettext-2 xgettext-3 \ + xgettext-4 xgettext-5 xgettext-6 xgettext-7 xgettext-8 \ + xgettext-9 xgettext-10 xgettext-11 xgettext-12 xgettext-13 \ + xgettext-14 xgettext-appdata-1 xgettext-awk-1 xgettext-awk-2 \ + xgettext-c-2 xgettext-c-3 xgettext-c-4 xgettext-c-5 \ + xgettext-c-6 xgettext-c-7 xgettext-c-8 xgettext-c-9 \ + xgettext-c-10 xgettext-c-11 xgettext-c-12 xgettext-c-13 \ + xgettext-c-14 xgettext-c-15 xgettext-c-16 xgettext-c-17 \ + xgettext-c-18 xgettext-c-19 xgettext-c-20 xgettext-c-21 \ + xgettext-csharp-1 xgettext-csharp-2 xgettext-csharp-3 \ + xgettext-csharp-4 xgettext-csharp-5 xgettext-csharp-6 \ + xgettext-csharp-7 xgettext-csharp-8 xgettext-elisp-1 \ + xgettext-elisp-2 xgettext-glade-1 xgettext-glade-2 \ + xgettext-glade-3 xgettext-glade-4 xgettext-glade-5 \ + xgettext-glade-6 xgettext-glade-7 xgettext-java-1 \ + xgettext-java-2 xgettext-java-3 xgettext-java-4 \ + xgettext-java-5 xgettext-java-6 xgettext-java-7 \ + xgettext-librep-1 xgettext-librep-2 xgettext-lisp-1 \ + xgettext-lisp-2 xgettext-objc-1 xgettext-objc-2 \ + xgettext-perl-1 xgettext-perl-2 xgettext-perl-3 \ + xgettext-perl-4 xgettext-perl-5 xgettext-perl-6 \ + xgettext-perl-7 xgettext-perl-8 xgettext-php-1 xgettext-php-2 \ + xgettext-php-3 xgettext-php-4 xgettext-po-1 \ + xgettext-properties-1 xgettext-python-1 xgettext-python-2 \ + xgettext-python-3 xgettext-python-4 xgettext-scheme-1 \ + xgettext-scheme-2 xgettext-scheme-3 xgettext-scheme-4 \ + xgettext-sh-1 xgettext-sh-2 xgettext-sh-3 xgettext-sh-4 \ + xgettext-sh-5 xgettext-sh-6 xgettext-smalltalk-1 \ + xgettext-smalltalk-2 xgettext-stringtable-1 xgettext-tcl-1 \ + xgettext-tcl-2 xgettext-tcl-3 xgettext-tcl-4 xgettext-ycp-1 \ + xgettext-ycp-2 xgettext-ycp-3 xgettext-ycp-4 xgettext-lua-1 \ + xgettext-lua-2 xgettext-javascript-1 xgettext-javascript-2 \ + xgettext-javascript-3 xgettext-javascript-4 \ + xgettext-javascript-5 xgettext-javascript-6 xgettext-vala-1 \ + xgettext-gsettings-1 xgettext-desktop-1 xgettext-its-1 \ + format-awk-1 format-awk-2 format-boost-1 format-boost-2 \ + format-c-1 format-c-2 format-c-3 format-c-4 format-c-5 \ + format-csharp-1 format-csharp-2 format-elisp-1 format-elisp-2 \ + format-gcc-internal-1 format-gcc-internal-2 \ + format-gfc-internal-1 format-gfc-internal-2 format-java-1 \ + format-java-2 format-kde-1 format-kde-2 format-kde-kuit-1 \ + format-kde-kuit-2 format-librep-1 format-librep-2 \ + format-lisp-1 format-lisp-2 format-php-1 format-php-2 \ + format-python-1 format-python-2 format-python-brace-1 \ + format-python-brace-2 format-pascal-1 format-pascal-2 \ + format-perl-1 format-perl-2 format-perl-brace-1 \ + format-perl-brace-2 format-perl-mixed-1 format-perl-mixed-2 \ + format-qt-1 format-qt-2 format-qt-plural-1 format-qt-plural-2 \ + format-scheme-1 format-scheme-2 format-sh-1 format-sh-2 \ + format-tcl-1 format-tcl-2 format-ycp-1 format-ycp-2 \ + format-lua-1 format-lua-2 format-javascript-1 \ + format-javascript-2 plural-1 plural-2 gettextpo-1 \ + sentence$(EXEEXT) lang-c lang-c++ lang-objc lang-sh lang-bash \ + lang-python-1 lang-python-2 lang-clisp lang-elisp lang-librep \ + lang-guile lang-smalltalk lang-java lang-csharp lang-gawk \ + lang-pascal lang-ycp lang-tcl lang-perl-1 lang-perl-2 lang-php \ + lang-po lang-rst lang-lua lang-javascript lang-vala \ + autopoint-1 autopoint-2 autopoint-3 cldr-plurals-1 +check_PROGRAMS = tstgettext$(EXEEXT) tstngettext$(EXEEXT) \ testlocale$(EXEEXT) gettext-3-prg$(EXEEXT) \ gettext-4-prg$(EXEEXT) gettext-5-prg$(EXEEXT) \ gettext-6-prg$(EXEEXT) gettext-7-prg$(EXEEXT) \ gettext-8-prg$(EXEEXT) cake$(EXEEXT) fc3$(EXEEXT) fc4$(EXEEXT) \ - fc5$(EXEEXT) gettextpo-1-prg$(EXEEXT) + fc5$(EXEEXT) gettextpo-1-prg$(EXEEXT) sentence$(EXEEXT) subdir = tests -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/../build-aux/mkinstalldirs $(srcdir)/init-env.in \ - $(top_srcdir)/../build-aux/test-driver ChangeLog ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = \ $(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \ $(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \ - $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \ $(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \ $(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \ $(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \ @@ -108,6 +212,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/gnulib-m4/btowc.m4 \ $(top_srcdir)/gnulib-m4/byteswap.m4 \ $(top_srcdir)/gnulib-m4/canonicalize.m4 \ + $(top_srcdir)/gnulib-m4/check-math-lib.m4 \ $(top_srcdir)/gnulib-m4/close.m4 \ $(top_srcdir)/gnulib-m4/closedir.m4 \ $(top_srcdir)/gnulib-m4/configmake.m4 \ @@ -115,6 +220,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/gnulib-m4/csharp.m4 \ $(top_srcdir)/gnulib-m4/csharpcomp.m4 \ $(top_srcdir)/gnulib-m4/csharpexec.m4 \ + $(top_srcdir)/gnulib-m4/ctype.m4 \ $(top_srcdir)/gnulib-m4/curses.m4 \ $(top_srcdir)/gnulib-m4/dirent_h.m4 \ $(top_srcdir)/gnulib-m4/double-slash-root.m4 \ @@ -126,7 +232,10 @@ am__aclocal_m4_deps = \ $(top_srcdir)/gnulib-m4/error.m4 \ $(top_srcdir)/gnulib-m4/execute.m4 \ $(top_srcdir)/gnulib-m4/exponentd.m4 \ + $(top_srcdir)/gnulib-m4/exponentf.m4 \ + $(top_srcdir)/gnulib-m4/exponentl.m4 \ $(top_srcdir)/gnulib-m4/extensions.m4 \ + $(top_srcdir)/gnulib-m4/fabs.m4 \ $(top_srcdir)/gnulib-m4/fatal-signal.m4 \ $(top_srcdir)/gnulib-m4/fcntl.m4 \ $(top_srcdir)/gnulib-m4/fcntl_h.m4 \ @@ -156,10 +265,16 @@ am__aclocal_m4_deps = \ $(top_srcdir)/gnulib-m4/inline.m4 \ $(top_srcdir)/gnulib-m4/intmax_t.m4 \ $(top_srcdir)/gnulib-m4/inttypes.m4 \ + $(top_srcdir)/gnulib-m4/isinf.m4 \ + $(top_srcdir)/gnulib-m4/isnan.m4 \ + $(top_srcdir)/gnulib-m4/isnand.m4 \ + $(top_srcdir)/gnulib-m4/isnanf.m4 \ + $(top_srcdir)/gnulib-m4/isnanl.m4 \ $(top_srcdir)/gnulib-m4/iswblank.m4 \ $(top_srcdir)/gnulib-m4/java.m4 \ $(top_srcdir)/gnulib-m4/javacomp.m4 \ $(top_srcdir)/gnulib-m4/javaexec.m4 \ + $(top_srcdir)/gnulib-m4/langinfo_h.m4 \ $(top_srcdir)/gnulib-m4/largefile.m4 \ $(top_srcdir)/gnulib-m4/lib-ld.m4 \ $(top_srcdir)/gnulib-m4/lib-link.m4 \ @@ -177,10 +292,13 @@ am__aclocal_m4_deps = \ $(top_srcdir)/gnulib-m4/locale-zh.m4 \ $(top_srcdir)/gnulib-m4/locale_h.m4 \ $(top_srcdir)/gnulib-m4/localename.m4 \ + $(top_srcdir)/gnulib-m4/log10.m4 \ $(top_srcdir)/gnulib-m4/lseek.m4 \ $(top_srcdir)/gnulib-m4/lstat.m4 \ $(top_srcdir)/gnulib-m4/malloc.m4 \ $(top_srcdir)/gnulib-m4/malloca.m4 \ + $(top_srcdir)/gnulib-m4/math_h.m4 \ + $(top_srcdir)/gnulib-m4/mathfunc.m4 \ $(top_srcdir)/gnulib-m4/mbchar.m4 \ $(top_srcdir)/gnulib-m4/mbiter.m4 \ $(top_srcdir)/gnulib-m4/mbrtowc.m4 \ @@ -210,6 +328,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/gnulib-m4/pathmax.m4 \ $(top_srcdir)/gnulib-m4/pipe2.m4 \ $(top_srcdir)/gnulib-m4/posix_spawn.m4 \ + $(top_srcdir)/gnulib-m4/pow.m4 \ $(top_srcdir)/gnulib-m4/printf.m4 \ $(top_srcdir)/gnulib-m4/putenv.m4 \ $(top_srcdir)/gnulib-m4/quote.m4 \ @@ -234,6 +353,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/gnulib-m4/sigaction.m4 \ $(top_srcdir)/gnulib-m4/signal_h.m4 \ $(top_srcdir)/gnulib-m4/signalblocking.m4 \ + $(top_srcdir)/gnulib-m4/signbit.m4 \ $(top_srcdir)/gnulib-m4/sigpipe.m4 \ $(top_srcdir)/gnulib-m4/sleep.m4 \ $(top_srcdir)/gnulib-m4/snprintf.m4 \ @@ -241,6 +361,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/gnulib-m4/spawn_h.m4 \ $(top_srcdir)/gnulib-m4/ssize_t.m4 \ $(top_srcdir)/gnulib-m4/stat.m4 \ + $(top_srcdir)/gnulib-m4/stdalign.m4 \ $(top_srcdir)/gnulib-m4/stdarg.m4 \ $(top_srcdir)/gnulib-m4/stdbool.m4 \ $(top_srcdir)/gnulib-m4/stddef_h.m4 \ @@ -332,11 +453,11 @@ am__aclocal_m4_deps = \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = init-env CONFIG_CLEAN_VPATH_FILES = -PROGRAMS = $(noinst_PROGRAMS) am_cake_OBJECTS = plural-1-prg.$(OBJEXT) setlocale.$(OBJEXT) cake_OBJECTS = $(am_cake_OBJECTS) am__DEPENDENCIES_1 = @@ -393,6 +514,9 @@ am_gettextpo_1_prg_OBJECTS = \ gettextpo_1_prg_OBJECTS = $(am_gettextpo_1_prg_OBJECTS) gettextpo_1_prg_DEPENDENCIES = ../libgettextpo/libgettextpo.la \ $(am__DEPENDENCIES_1) +am_sentence_OBJECTS = sentence-sentence.$(OBJEXT) +sentence_OBJECTS = $(am_sentence_OBJECTS) +sentence_DEPENDENCIES = ../src/libgettextsrc.la $(am__DEPENDENCIES_1) am_testlocale_OBJECTS = testlocale.$(OBJEXT) testlocale_OBJECTS = $(am_testlocale_OBJECTS) testlocale_LDADD = $(LDADD) @@ -450,15 +574,16 @@ SOURCES = $(cake_SOURCES) $(fc3_SOURCES) $(fc4_SOURCES) $(fc5_SOURCES) \ $(gettext_3_prg_SOURCES) $(gettext_4_prg_SOURCES) \ $(gettext_5_prg_SOURCES) $(gettext_6_prg_SOURCES) \ $(gettext_7_prg_SOURCES) $(gettext_8_prg_SOURCES) \ - $(gettextpo_1_prg_SOURCES) $(testlocale_SOURCES) \ - $(tstgettext_SOURCES) $(tstngettext_SOURCES) + $(gettextpo_1_prg_SOURCES) $(sentence_SOURCES) \ + $(testlocale_SOURCES) $(tstgettext_SOURCES) \ + $(tstngettext_SOURCES) DIST_SOURCES = $(cake_SOURCES) $(fc3_SOURCES) $(fc4_SOURCES) \ $(fc5_SOURCES) $(gettext_3_prg_SOURCES) \ $(gettext_4_prg_SOURCES) $(gettext_5_prg_SOURCES) \ $(gettext_6_prg_SOURCES) $(gettext_7_prg_SOURCES) \ $(gettext_8_prg_SOURCES) $(gettextpo_1_prg_SOURCES) \ - $(testlocale_SOURCES) $(tstgettext_SOURCES) \ - $(tstngettext_SOURCES) + $(sentence_SOURCES) $(testlocale_SOURCES) \ + $(tstgettext_SOURCES) $(tstngettext_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -687,6 +812,9 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/../build-aux/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/init-env.in \ + $(top_srcdir)/../build-aux/mkinstalldirs \ + $(top_srcdir)/../build-aux/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ @@ -697,6 +825,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARCHIVE_FORMAT = @ARCHIVE_FORMAT@ +ARCHIVE_VERSION = @ARCHIVE_VERSION@ ARFLAGS = @ARFLAGS@ AS = @AS@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ @@ -758,6 +887,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ +FABS_LIBM = @FABS_LIBM@ FGREP = @FGREP@ FLOAT_H = @FLOAT_H@ FNMATCH_H = @FNMATCH_H@ @@ -772,15 +902,34 @@ GLIBC21 = @GLIBC21@ GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_ACOSF = @GNULIB_ACOSF@ +GNULIB_ACOSL = @GNULIB_ACOSL@ GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ +GNULIB_ASINF = @GNULIB_ASINF@ +GNULIB_ASINL = @GNULIB_ASINL@ +GNULIB_ATAN2F = @GNULIB_ATAN2F@ +GNULIB_ATANF = @GNULIB_ATANF@ +GNULIB_ATANL = @GNULIB_ATANL@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ +GNULIB_CBRT = @GNULIB_CBRT@ +GNULIB_CBRTF = @GNULIB_CBRTF@ +GNULIB_CBRTL = @GNULIB_CBRTL@ +GNULIB_CEIL = @GNULIB_CEIL@ +GNULIB_CEILF = @GNULIB_CEILF@ +GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ +GNULIB_COPYSIGN = @GNULIB_COPYSIGN@ +GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@ +GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@ +GNULIB_COSF = @GNULIB_COSF@ +GNULIB_COSHF = @GNULIB_COSHF@ +GNULIB_COSL = @GNULIB_COSL@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ @@ -789,6 +938,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ +GNULIB_EXP2 = @GNULIB_EXP2@ +GNULIB_EXP2F = @GNULIB_EXP2F@ +GNULIB_EXP2L = @GNULIB_EXP2L@ +GNULIB_EXPF = @GNULIB_EXPF@ +GNULIB_EXPL = @GNULIB_EXPL@ +GNULIB_EXPM1 = @GNULIB_EXPM1@ +GNULIB_EXPM1F = @GNULIB_EXPM1F@ +GNULIB_EXPM1L = @GNULIB_EXPM1L@ +GNULIB_FABSF = @GNULIB_FABSF@ +GNULIB_FABSL = @GNULIB_FABSL@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -803,6 +962,15 @@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ +GNULIB_FLOOR = @GNULIB_FLOOR@ +GNULIB_FLOORF = @GNULIB_FLOORF@ +GNULIB_FLOORL = @GNULIB_FLOORL@ +GNULIB_FMA = @GNULIB_FMA@ +GNULIB_FMAF = @GNULIB_FMAF@ +GNULIB_FMAL = @GNULIB_FMAL@ +GNULIB_FMOD = @GNULIB_FMOD@ +GNULIB_FMODF = @GNULIB_FMODF@ +GNULIB_FMODL = @GNULIB_FMODL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -811,6 +979,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FREXP = @GNULIB_FREXP@ +GNULIB_FREXPF = @GNULIB_FREXPF@ +GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ @@ -841,17 +1012,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ +GNULIB_HYPOT = @GNULIB_HYPOT@ +GNULIB_HYPOTF = @GNULIB_HYPOTF@ +GNULIB_HYPOTL = @GNULIB_HYPOTL@ GNULIB_ICONV = @GNULIB_ICONV@ +GNULIB_ILOGB = @GNULIB_ILOGB@ +GNULIB_ILOGBF = @GNULIB_ILOGBF@ +GNULIB_ILOGBL = @GNULIB_ILOGBL@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_ISATTY = @GNULIB_ISATTY@ +GNULIB_ISBLANK = @GNULIB_ISBLANK@ +GNULIB_ISFINITE = @GNULIB_ISFINITE@ +GNULIB_ISINF = @GNULIB_ISINF@ +GNULIB_ISNAN = @GNULIB_ISNAN@ +GNULIB_ISNAND = @GNULIB_ISNAND@ +GNULIB_ISNANF = @GNULIB_ISNANF@ +GNULIB_ISNANL = @GNULIB_ISNANL@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ +GNULIB_LDEXPF = @GNULIB_LDEXPF@ +GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ +GNULIB_LOG = @GNULIB_LOG@ +GNULIB_LOG10 = @GNULIB_LOG10@ +GNULIB_LOG10F = @GNULIB_LOG10F@ +GNULIB_LOG10L = @GNULIB_LOG10L@ +GNULIB_LOG1P = @GNULIB_LOG1P@ +GNULIB_LOG1PF = @GNULIB_LOG1PF@ +GNULIB_LOG1PL = @GNULIB_LOG1PL@ +GNULIB_LOG2 = @GNULIB_LOG2@ +GNULIB_LOG2F = @GNULIB_LOG2F@ +GNULIB_LOG2L = @GNULIB_LOG2L@ +GNULIB_LOGB = @GNULIB_LOGB@ +GNULIB_LOGBF = @GNULIB_LOGBF@ +GNULIB_LOGBL = @GNULIB_LOGBL@ +GNULIB_LOGF = @GNULIB_LOGF@ +GNULIB_LOGL = @GNULIB_LOGL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -890,6 +1091,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ +GNULIB_MODF = @GNULIB_MODF@ +GNULIB_MODFF = @GNULIB_MODFF@ +GNULIB_MODFL = @GNULIB_MODFL@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ @@ -925,6 +1129,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@ +GNULIB_POWF = @GNULIB_POWF@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ @@ -948,11 +1153,20 @@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ +GNULIB_REMAINDER = @GNULIB_REMAINDER@ +GNULIB_REMAINDERF = @GNULIB_REMAINDERF@ +GNULIB_REMAINDERL = @GNULIB_REMAINDERL@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ +GNULIB_RINT = @GNULIB_RINT@ +GNULIB_RINTF = @GNULIB_RINTF@ +GNULIB_RINTL = @GNULIB_RINTL@ GNULIB_RMDIR = @GNULIB_RMDIR@ +GNULIB_ROUND = @GNULIB_ROUND@ +GNULIB_ROUNDF = @GNULIB_ROUNDF@ +GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ @@ -963,10 +1177,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ GNULIB_SIGACTION = @GNULIB_SIGACTION@ GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ +GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ +GNULIB_SINF = @GNULIB_SINF@ +GNULIB_SINHF = @GNULIB_SINHF@ +GNULIB_SINL = @GNULIB_SINL@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ +GNULIB_SQRTF = @GNULIB_SQRTF@ +GNULIB_SQRTL = @GNULIB_SQRTL@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ @@ -995,10 +1215,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ +GNULIB_TANF = @GNULIB_TANF@ +GNULIB_TANHF = @GNULIB_TANHF@ +GNULIB_TANL = @GNULIB_TANL@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ +GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ +GNULIB_TRUNC = @GNULIB_TRUNC@ +GNULIB_TRUNCF = @GNULIB_TRUNCF@ +GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ @@ -1058,25 +1285,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ +HAVE_ACOSF = @HAVE_ACOSF@ +HAVE_ACOSL = @HAVE_ACOSL@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ +HAVE_ASINF = @HAVE_ASINF@ +HAVE_ASINL = @HAVE_ASINL@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ +HAVE_ATAN2F = @HAVE_ATAN2F@ +HAVE_ATANF = @HAVE_ATANF@ +HAVE_ATANL = @HAVE_ATANL@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ +HAVE_CBRT = @HAVE_CBRT@ +HAVE_CBRTF = @HAVE_CBRTF@ +HAVE_CBRTL = @HAVE_CBRTL@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLIX = @HAVE_CLIX@ HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPYSIGN = @HAVE_COPYSIGN@ +HAVE_COPYSIGNL = @HAVE_COPYSIGNL@ +HAVE_COSF = @HAVE_COSF@ +HAVE_COSHF = @HAVE_COSHF@ +HAVE_COSL = @HAVE_COSL@ HAVE_CSC = @HAVE_CSC@ HAVE_CSCC = @HAVE_CSCC@ HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@ HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@ +HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ +HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ +HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ +HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@ +HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@ +HAVE_DECL_CEILF = @HAVE_DECL_CEILF@ +HAVE_DECL_CEILL = @HAVE_DECL_CEILL@ +HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@ +HAVE_DECL_COSL = @HAVE_DECL_COSL@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ +HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@ +HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@ +HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@ +HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ +HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ +HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@ +HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ +HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ @@ -1088,13 +1347,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ +HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ +HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@ +HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@ +HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@ +HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@ +HAVE_DECL_LOGB = @HAVE_DECL_LOGB@ +HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@ +HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@ +HAVE_DECL_RINTF = @HAVE_DECL_RINTF@ +HAVE_DECL_ROUND = @HAVE_DECL_ROUND@ +HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@ +HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ +HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ +HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ @@ -1103,6 +1377,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ +HAVE_DECL_TANL = @HAVE_DECL_TANL@ +HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ +HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ +HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ @@ -1114,6 +1392,12 @@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXPF = @HAVE_EXPF@ +HAVE_EXPL = @HAVE_EXPL@ +HAVE_EXPM1 = @HAVE_EXPM1@ +HAVE_EXPM1F = @HAVE_EXPM1F@ +HAVE_FABSF = @HAVE_FABSF@ +HAVE_FABSL = @HAVE_FABSL@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ @@ -1124,6 +1408,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ +HAVE_FMA = @HAVE_FMA@ +HAVE_FMAF = @HAVE_FMAF@ +HAVE_FMAL = @HAVE_FMAL@ +HAVE_FMODF = @HAVE_FMODF@ +HAVE_FMODL = @HAVE_FMODL@ +HAVE_FREXPF = @HAVE_FREXPF@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -1146,9 +1436,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@ HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_HYPOTF = @HAVE_HYPOTF@ +HAVE_HYPOTL = @HAVE_HYPOTL@ +HAVE_ILOGB = @HAVE_ILOGB@ +HAVE_ILOGBF = @HAVE_ILOGBF@ +HAVE_ILOGBL = @HAVE_ILOGBL@ HAVE_ILRUN = @HAVE_ILRUN@ HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_ISBLANK = @HAVE_ISBLANK@ +HAVE_ISNAND = @HAVE_ISNAND@ +HAVE_ISNANF = @HAVE_ISNANF@ +HAVE_ISNANL = @HAVE_ISNANL@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_JAVA = @HAVE_JAVA@ @@ -1170,12 +1469,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@ HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LIBEXPAT = @HAVE_LIBEXPAT@ +HAVE_LDEXPF = @HAVE_LDEXPF@ HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ +HAVE_LOG10F = @HAVE_LOG10F@ +HAVE_LOG10L = @HAVE_LOG10L@ +HAVE_LOG1P = @HAVE_LOG1P@ +HAVE_LOG1PF = @HAVE_LOG1PF@ +HAVE_LOG1PL = @HAVE_LOG1PL@ +HAVE_LOGBF = @HAVE_LOGBF@ +HAVE_LOGBL = @HAVE_LOGBL@ +HAVE_LOGF = @HAVE_LOGF@ +HAVE_LOGL = @HAVE_LOGL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ @@ -1196,6 +1505,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ +HAVE_MODFF = @HAVE_MODFF@ +HAVE_MODFL = @HAVE_MODFL@ HAVE_MONO = @HAVE_MONO@ HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ @@ -1215,6 +1526,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@ HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@ HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@ +HAVE_POWF = @HAVE_POWF@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PSELECT = @HAVE_PSELECT@ HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ @@ -1230,9 +1542,14 @@ HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ +HAVE_REMAINDER = @HAVE_REMAINDER@ +HAVE_REMAINDERF = @HAVE_REMAINDERF@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_REWINDDIR = @HAVE_REWINDDIR@ +HAVE_RINT = @HAVE_RINT@ +HAVE_RINTL = @HAVE_RINTL@ HAVE_RPMATCH = @HAVE_RPMATCH@ +HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SCHED_H = @HAVE_SCHED_H@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ @@ -1245,9 +1562,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ +HAVE_SINF = @HAVE_SINF@ +HAVE_SINHF = @HAVE_SINHF@ +HAVE_SINL = @HAVE_SINL@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_SPAWN_H = @HAVE_SPAWN_H@ +HAVE_SQRTF = @HAVE_SQRTF@ +HAVE_SQRTL = @HAVE_SQRTL@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ @@ -1273,7 +1595,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_TANF = @HAVE_TANF@ +HAVE_TANHF = @HAVE_TANHF@ +HAVE_TANL = @HAVE_TANL@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ @@ -1349,13 +1675,16 @@ INTLOBJS = @INTLOBJS@ INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +ISINF_LIBM = @ISINF_LIBM@ +ISNAND_LIBM = @ISNAND_LIBM@ +ISNANF_LIBM = @ISNANF_LIBM@ +ISNANL_LIBM = @ISNANL_LIBM@ +ISNAN_LIBM = @ISNAN_LIBM@ JAR = @JAR@ JAVA_CHOICE = @JAVA_CHOICE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBCROCO = @LIBCROCO@ -LIBEXPAT = @LIBEXPAT@ -LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@ LIBGLIB = @LIBGLIB@ LIBGLIB_H = @LIBGLIB_H@ LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@ @@ -1374,6 +1703,7 @@ LIBTOOL = @LIBTOOL@ LIBUNISTRING = @LIBUNISTRING@ LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@ LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@ +LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@ LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@ LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@ LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@ @@ -1382,6 +1712,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LIBXML = @LIBXML@ LIBXML_H = @LIBXML_H@ LIB_ACL = @LIB_ACL@ +LIB_HAS_ACL = @LIB_HAS_ACL@ LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@ LIPO = @LIPO@ LN_S = @LN_S@ @@ -1391,9 +1722,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ +LOG10_LIBM = @LOG10_LIBM@ LTLIBC = @LTLIBC@ LTLIBCROCO = @LTLIBCROCO@ -LTLIBEXPAT = @LTLIBEXPAT@ LTLIBGLIB = @LTLIBGLIB@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ @@ -1404,6 +1735,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@ LTLIBTHREAD = @LTLIBTHREAD@ LTLIBUNISTRING = @LTLIBUNISTRING@ LTLIBXML = @LTLIBXML@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -1413,6 +1745,7 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ MSGMERGE_LIBM = @MSGMERGE_LIBM@ +NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ @@ -1422,6 +1755,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@ @@ -1440,6 +1774,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ +NEXT_CTYPE_H = @NEXT_CTYPE_H@ NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ @@ -1449,6 +1784,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_MATH_H = @NEXT_MATH_H@ NEXT_SCHED_H = @NEXT_SCHED_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_SPAWN_H = @NEXT_SPAWN_H@ @@ -1479,12 +1815,14 @@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_SUFFIX = @PACKAGE_SUFFIX@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSUB = @POSUB@ +POW_LIBM = @POW_LIBM@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ @@ -1503,6 +1841,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ +REPLACE_CBRTF = @REPLACE_CBRTF@ +REPLACE_CBRTL = @REPLACE_CBRTL@ +REPLACE_CEIL = @REPLACE_CEIL@ +REPLACE_CEILF = @REPLACE_CEILF@ +REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ @@ -1511,16 +1854,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_EXP2 = @REPLACE_EXP2@ +REPLACE_EXP2L = @REPLACE_EXP2L@ +REPLACE_EXPM1 = @REPLACE_EXPM1@ +REPLACE_EXPM1F = @REPLACE_EXPM1F@ +REPLACE_FABSL = @REPLACE_FABSL@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FLOOR = @REPLACE_FLOOR@ +REPLACE_FLOORF = @REPLACE_FLOORF@ +REPLACE_FLOORL = @REPLACE_FLOORL@ +REPLACE_FMA = @REPLACE_FMA@ +REPLACE_FMAF = @REPLACE_FMAF@ +REPLACE_FMAL = @REPLACE_FMAL@ +REPLACE_FMOD = @REPLACE_FMOD@ +REPLACE_FMODF = @REPLACE_FMODF@ +REPLACE_FMODL = @REPLACE_FMODL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ +REPLACE_FREXP = @REPLACE_FREXP@ +REPLACE_FREXPF = @REPLACE_FREXPF@ +REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ @@ -1539,19 +1899,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ +REPLACE_HYPOT = @REPLACE_HYPOT@ +REPLACE_HYPOTF = @REPLACE_HYPOTF@ +REPLACE_HYPOTL = @REPLACE_HYPOTL@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ +REPLACE_ILOGB = @REPLACE_ILOGB@ +REPLACE_ILOGBF = @REPLACE_ILOGBF@ REPLACE_ISATTY = @REPLACE_ISATTY@ +REPLACE_ISFINITE = @REPLACE_ISFINITE@ +REPLACE_ISINF = @REPLACE_ISINF@ +REPLACE_ISNAN = @REPLACE_ISNAN@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ +REPLACE_LOG = @REPLACE_LOG@ +REPLACE_LOG10 = @REPLACE_LOG10@ +REPLACE_LOG10F = @REPLACE_LOG10F@ +REPLACE_LOG10L = @REPLACE_LOG10L@ +REPLACE_LOG1P = @REPLACE_LOG1P@ +REPLACE_LOG1PF = @REPLACE_LOG1PF@ +REPLACE_LOG1PL = @REPLACE_LOG1PL@ +REPLACE_LOG2 = @REPLACE_LOG2@ +REPLACE_LOG2F = @REPLACE_LOG2F@ +REPLACE_LOG2L = @REPLACE_LOG2L@ +REPLACE_LOGB = @REPLACE_LOGB@ +REPLACE_LOGBF = @REPLACE_LOGBF@ +REPLACE_LOGBL = @REPLACE_LOGBL@ +REPLACE_LOGF = @REPLACE_LOGF@ +REPLACE_LOGL = @REPLACE_LOGL@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ @@ -1569,6 +1954,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ +REPLACE_MODF = @REPLACE_MODF@ +REPLACE_MODFF = @REPLACE_MODFF@ +REPLACE_MODFL = @REPLACE_MODFL@ +REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ @@ -1598,16 +1987,25 @@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_READLINKAT = @REPLACE_READLINKAT@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ +REPLACE_REMAINDER = @REPLACE_REMAINDER@ +REPLACE_REMAINDERF = @REPLACE_REMAINDERF@ +REPLACE_REMAINDERL = @REPLACE_REMAINDERL@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ +REPLACE_ROUND = @REPLACE_ROUND@ +REPLACE_ROUNDF = @REPLACE_ROUNDF@ +REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ +REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ +REPLACE_SQRTL = @REPLACE_SQRTL@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ @@ -1633,6 +2031,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ +REPLACE_TRUNC = @REPLACE_TRUNC@ +REPLACE_TRUNCF = @REPLACE_TRUNCF@ +REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -1659,6 +2060,7 @@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ @@ -1673,6 +2075,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ @@ -1771,135 +2174,11 @@ EXTRA_DIST = init.sh init.cfg $(TESTS) test.mo overflow-1.mo \ mm-ko.euc-kr.po mm-ko-comp.euc-kr.po mm-viet.comp.po \ mm-viet.pot mm-viet.out msguniq-a.in msguniq-a.inp \ msguniq-a.out qttest_pl.po qttest_pl.qm qttest2_de.po \ - qttest2_de.qm qttest2_de.ts ChangeLog.0 gettext-3-1.po \ - gettext-3-2.po gettext-4.po gettext-5.po gettext-6-1.po \ - gettext-6-2.po gettext-7.po gettextpo-1.de.po xgettext-1 \ - xgettext-c-1 + qttest2_de.qm qttest2_de.ts gettext-3-1.po gettext-3-2.po \ + gettext-4.po gettext-5.po gettext-6-1.po gettext-6-2.po \ + gettext-7.po gettextpo-1.de.po xgettext-1 xgettext-c-1 \ + xg-c-21.c common/supplemental/plurals.xml MOSTLYCLEANFILES = core *.stackdump -TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \ - gettext-8 \ - msgattrib-1 msgattrib-2 msgattrib-3 msgattrib-4 msgattrib-5 \ - msgattrib-6 msgattrib-7 msgattrib-8 msgattrib-9 msgattrib-10 \ - msgattrib-11 msgattrib-12 msgattrib-13 msgattrib-14 msgattrib-15 \ - msgattrib-16 msgattrib-17 msgattrib-18 msgattrib-19 \ - msgattrib-properties-1 \ - msgcat-1 msgcat-2 msgcat-3 msgcat-4 msgcat-5 msgcat-6 msgcat-7 \ - msgcat-8 msgcat-9 msgcat-10 msgcat-11 msgcat-12 msgcat-13 msgcat-14 \ - msgcat-15 msgcat-16 msgcat-17 msgcat-18 msgcat-19 msgcat-20 \ - msgcat-properties-1 msgcat-properties-2 \ - msgcat-stringtable-1 \ - msgcmp-1 msgcmp-2 msgcmp-3 msgcmp-4 \ - msgcomm-1 msgcomm-2 msgcomm-3 msgcomm-4 msgcomm-5 msgcomm-6 msgcomm-7 \ - msgcomm-8 msgcomm-9 msgcomm-10 msgcomm-11 msgcomm-12 msgcomm-13 \ - msgcomm-14 msgcomm-15 msgcomm-16 msgcomm-17 msgcomm-18 msgcomm-19 \ - msgcomm-20 msgcomm-21 msgcomm-22 msgcomm-23 msgcomm-24 msgcomm-25 \ - msgcomm-26 msgcomm-27 msgcomm-28 \ - msgconv-1 msgconv-2 msgconv-3 msgconv-4 msgconv-5 msgconv-6 msgconv-7 \ - msgen-1 msgen-2 msgen-3 msgen-4 \ - msgexec-1 msgexec-2 msgexec-3 msgexec-4 msgexec-5 \ - msgfilter-1 msgfilter-2 msgfilter-3 msgfilter-4 msgfilter-5 \ - msgfilter-6 msgfilter-7 \ - msgfilter-sr-latin-1 msgfilter-quote-1 \ - msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \ - msgfmt-8 msgfmt-9 msgfmt-10 msgfmt-11 msgfmt-12 msgfmt-13 msgfmt-14 \ - msgfmt-15 msgfmt-16 msgfmt-17 msgfmt-18 \ - msgfmt-properties-1 \ - msgfmt-qt-1 msgfmt-qt-2 \ - msgfmt-desktop-1 msgfmt-desktop-2 \ - msggrep-1 msggrep-2 msggrep-3 msggrep-4 msggrep-5 msggrep-6 msggrep-7 \ - msggrep-8 msggrep-9 msggrep-10 msggrep-11 \ - msginit-1 msginit-2 msginit-3 \ - msgmerge-1 msgmerge-2 msgmerge-3 msgmerge-4 msgmerge-5 msgmerge-6 \ - msgmerge-7 msgmerge-8 msgmerge-9 msgmerge-10 msgmerge-11 msgmerge-12 \ - msgmerge-13 msgmerge-14 msgmerge-15 msgmerge-16 msgmerge-17 \ - msgmerge-18 msgmerge-19 msgmerge-20 msgmerge-21 msgmerge-22 \ - msgmerge-23 msgmerge-24 msgmerge-25 \ - msgmerge-compendium-1 msgmerge-compendium-2 msgmerge-compendium-3 \ - msgmerge-compendium-4 msgmerge-compendium-5 msgmerge-compendium-6 \ - msgmerge-properties-1 msgmerge-properties-2 \ - msgmerge-update-1 msgmerge-update-2 msgmerge-update-3 \ - msgmerge-update-4 \ - msgunfmt-1 msgunfmt-2 msgunfmt-3 \ - msgunfmt-csharp-1 \ - msgunfmt-java-1 \ - msgunfmt-properties-1 \ - msgunfmt-tcl-1 \ - msguniq-1 msguniq-2 msguniq-3 msguniq-4 msguniq-5 msguniq-6 msguniq-7 \ - recode-sr-latin-1 recode-sr-latin-2 \ - xgettext-2 xgettext-3 xgettext-4 xgettext-5 xgettext-6 \ - xgettext-7 xgettext-8 xgettext-9 xgettext-10 xgettext-11 xgettext-12 \ - xgettext-awk-1 xgettext-awk-2 \ - xgettext-c-2 xgettext-c-3 xgettext-c-4 xgettext-c-5 \ - xgettext-c-6 xgettext-c-7 xgettext-c-8 xgettext-c-9 xgettext-c-10 \ - xgettext-c-11 xgettext-c-12 xgettext-c-13 xgettext-c-14 xgettext-c-15 \ - xgettext-c-16 xgettext-c-17 xgettext-c-18 xgettext-c-19 xgettext-c-20 \ - xgettext-csharp-1 xgettext-csharp-2 xgettext-csharp-3 \ - xgettext-csharp-4 xgettext-csharp-5 xgettext-csharp-6 \ - xgettext-csharp-7 xgettext-csharp-8 \ - xgettext-elisp-1 xgettext-elisp-2 \ - xgettext-glade-1 xgettext-glade-2 xgettext-glade-3 xgettext-glade-4 \ - xgettext-glade-5 xgettext-glade-6 xgettext-glade-7 \ - xgettext-java-1 xgettext-java-2 xgettext-java-3 xgettext-java-4 \ - xgettext-java-5 xgettext-java-6 xgettext-java-7 \ - xgettext-librep-1 xgettext-librep-2 \ - xgettext-lisp-1 xgettext-lisp-2 \ - xgettext-objc-1 xgettext-objc-2 \ - xgettext-perl-1 xgettext-perl-2 xgettext-perl-3 xgettext-perl-4 \ - xgettext-perl-5 xgettext-perl-6 xgettext-perl-7 xgettext-perl-8 \ - xgettext-php-1 xgettext-php-2 xgettext-php-3 xgettext-php-4 \ - xgettext-po-1 \ - xgettext-properties-1 \ - xgettext-python-1 xgettext-python-2 xgettext-python-3 \ - xgettext-python-4 \ - xgettext-scheme-1 xgettext-scheme-2 xgettext-scheme-3 \ - xgettext-scheme-4 \ - xgettext-sh-1 xgettext-sh-2 xgettext-sh-3 xgettext-sh-4 xgettext-sh-5 \ - xgettext-sh-6 \ - xgettext-smalltalk-1 xgettext-smalltalk-2 \ - xgettext-stringtable-1 \ - xgettext-tcl-1 xgettext-tcl-2 xgettext-tcl-3 xgettext-tcl-4 \ - xgettext-ycp-1 xgettext-ycp-2 xgettext-ycp-3 xgettext-ycp-4 \ - xgettext-lua-1 xgettext-lua-2 \ - xgettext-javascript-1 xgettext-javascript-2 xgettext-javascript-3 \ - xgettext-javascript-4 xgettext-javascript-5 xgettext-javascript-6 \ - xgettext-vala-1 \ - xgettext-gsettings-1 \ - xgettext-desktop-1 \ - format-awk-1 format-awk-2 \ - format-boost-1 format-boost-2 \ - format-c-1 format-c-2 format-c-3 format-c-4 format-c-5 \ - format-csharp-1 format-csharp-2 \ - format-elisp-1 format-elisp-2 \ - format-gcc-internal-1 format-gcc-internal-2 \ - format-gfc-internal-1 format-gfc-internal-2 \ - format-java-1 format-java-2 \ - format-kde-1 format-kde-2 \ - format-librep-1 format-librep-2 \ - format-lisp-1 format-lisp-2 \ - format-php-1 format-php-2 \ - format-python-1 format-python-2 \ - format-python-brace-1 format-python-brace-2 \ - format-pascal-1 format-pascal-2 \ - format-perl-1 format-perl-2 \ - format-perl-brace-1 format-perl-brace-2 \ - format-perl-mixed-1 format-perl-mixed-2 \ - format-qt-1 format-qt-2 \ - format-qt-plural-1 format-qt-plural-2 \ - format-scheme-1 format-scheme-2 \ - format-sh-1 format-sh-2 \ - format-tcl-1 format-tcl-2 \ - format-ycp-1 format-ycp-2 \ - format-lua-1 format-lua-2 \ - format-javascript-1 format-javascript-2 \ - plural-1 plural-2 \ - gettextpo-1 \ - lang-c lang-c++ lang-objc lang-sh lang-bash lang-python-1 \ - lang-python-2 lang-clisp lang-elisp lang-librep lang-guile \ - lang-smalltalk lang-java lang-csharp lang-gawk lang-pascal \ - lang-ycp lang-tcl lang-perl-1 lang-perl-2 lang-php lang-po lang-rst \ - lang-lua lang-javascript lang-vala \ - autopoint-1 autopoint-2 autopoint-3 - # For debugging memory leaks and memory allocation bugs. # You should build with --disable-shared when using valgrind. @@ -1986,6 +2265,9 @@ gettextpo_1_prg_CPPFLAGS = \ # Don't add more libraries here. This test must check whether libgettextpo is # self contained. gettextpo_1_prg_LDADD = ../libgettextpo/libgettextpo.la $(LDADD) +sentence_SOURCES = sentence.c +sentence_CPPFLAGS = $(AM_CPPFLAGS) -I../src -I$(top_srcdir)/src +sentence_LDADD = ../src/libgettextsrc.la $(LDADD) all: all-am .SUFFIXES: @@ -2002,7 +2284,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnits tests/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -2023,8 +2304,8 @@ $(am__aclocal_m4_deps): init-env: $(top_builddir)/config.status $(srcdir)/init-env.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ @@ -2076,6 +2357,10 @@ gettextpo-1-prg$(EXEEXT): $(gettextpo_1_prg_OBJECTS) $(gettextpo_1_prg_DEPENDENC @rm -f gettextpo-1-prg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(gettextpo_1_prg_OBJECTS) $(gettextpo_1_prg_LDADD) $(LIBS) +sentence$(EXEEXT): $(sentence_OBJECTS) $(sentence_DEPENDENCIES) $(EXTRA_sentence_DEPENDENCIES) + @rm -f sentence$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sentence_OBJECTS) $(sentence_LDADD) $(LIBS) + testlocale$(EXEEXT): $(testlocale_OBJECTS) $(testlocale_DEPENDENCIES) $(EXTRA_testlocale_DEPENDENCIES) @rm -f testlocale$(EXEEXT) $(AM_V_CCLD)$(LINK) $(testlocale_OBJECTS) $(testlocale_LDADD) $(LIBS) @@ -2121,6 +2406,12 @@ gettextpo_1_prg-gettextpo-1-prg.o: gettextpo-1-prg.c gettextpo_1_prg-gettextpo-1-prg.obj: gettextpo-1-prg.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gettextpo_1_prg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gettextpo_1_prg-gettextpo-1-prg.obj `if test -f 'gettextpo-1-prg.c'; then $(CYGPATH_W) 'gettextpo-1-prg.c'; else $(CYGPATH_W) '$(srcdir)/gettextpo-1-prg.c'; fi` +sentence-sentence.o: sentence.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sentence_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sentence-sentence.o `test -f 'sentence.c' || echo '$(srcdir)/'`sentence.c + +sentence-sentence.obj: sentence.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sentence_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sentence-sentence.obj `if test -f 'sentence.c'; then $(CYGPATH_W) 'sentence.c'; else $(CYGPATH_W) '$(srcdir)/sentence.c'; fi` + tstgettext-tstgettext.o: tstgettext.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tstgettext_CFLAGS) $(CFLAGS) -c -o tstgettext-tstgettext.o `test -f 'tstgettext.c' || echo '$(srcdir)/'`tstgettext.c @@ -2233,7 +2524,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ - else \ + elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ @@ -2333,7 +2624,7 @@ check-TESTS: log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; -recheck: all +recheck: all $(check_PROGRAMS) @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ @@ -3037,6 +3328,13 @@ msgexec-5.log: msgexec-5 --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +msgexec-6.log: msgexec-6 + @p='msgexec-6'; \ + b='msgexec-6'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) msgfilter-1.log: msgfilter-1 @p='msgfilter-1'; \ b='msgfilter-1'; \ @@ -3086,6 +3384,13 @@ msgfilter-7.log: msgfilter-7 --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +msgfilter-8.log: msgfilter-8 + @p='msgfilter-8'; \ + b='msgfilter-8'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) msgfilter-sr-latin-1.log: msgfilter-sr-latin-1 @p='msgfilter-sr-latin-1'; \ b='msgfilter-sr-latin-1'; \ @@ -3261,6 +3566,20 @@ msgfmt-desktop-2.log: msgfmt-desktop-2 --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +msgfmt-xml-1.log: msgfmt-xml-1 + @p='msgfmt-xml-1'; \ + b='msgfmt-xml-1'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +msgfmt-xml-2.log: msgfmt-xml-2 + @p='msgfmt-xml-2'; \ + b='msgfmt-xml-2'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) msggrep-1.log: msggrep-1 @p='msggrep-1'; \ b='msggrep-1'; \ @@ -3359,6 +3678,13 @@ msginit-3.log: msginit-3 --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +msginit-4.log: msginit-4 + @p='msginit-4'; \ + b='msginit-4'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) msgmerge-1.log: msgmerge-1 @p='msgmerge-1'; \ b='msgmerge-1'; \ @@ -3807,6 +4133,27 @@ xgettext-12.log: xgettext-12 --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +xgettext-13.log: xgettext-13 + @p='xgettext-13'; \ + b='xgettext-13'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +xgettext-14.log: xgettext-14 + @p='xgettext-14'; \ + b='xgettext-14'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +xgettext-appdata-1.log: xgettext-appdata-1 + @p='xgettext-appdata-1'; \ + b='xgettext-appdata-1'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) xgettext-awk-1.log: xgettext-awk-1 @p='xgettext-awk-1'; \ b='xgettext-awk-1'; \ @@ -3954,6 +4301,13 @@ xgettext-c-20.log: xgettext-c-20 --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +xgettext-c-21.log: xgettext-c-21 + @p='xgettext-c-21'; \ + b='xgettext-c-21'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) xgettext-csharp-1.log: xgettext-csharp-1 @p='xgettext-csharp-1'; \ b='xgettext-csharp-1'; \ @@ -4514,6 +4868,13 @@ xgettext-desktop-1.log: xgettext-desktop-1 --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +xgettext-its-1.log: xgettext-its-1 + @p='xgettext-its-1'; \ + b='xgettext-its-1'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) format-awk-1.log: format-awk-1 @p='format-awk-1'; \ b='format-awk-1'; \ @@ -4661,6 +5022,20 @@ format-kde-2.log: format-kde-2 --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +format-kde-kuit-1.log: format-kde-kuit-1 + @p='format-kde-kuit-1'; \ + b='format-kde-kuit-1'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +format-kde-kuit-2.log: format-kde-kuit-2 + @p='format-kde-kuit-2'; \ + b='format-kde-kuit-2'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) format-librep-1.log: format-librep-1 @p='format-librep-1'; \ b='format-librep-1'; \ @@ -4920,6 +5295,13 @@ gettextpo-1.log: gettextpo-1 --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +sentence.log: sentence$(EXEEXT) + @p='sentence$(EXEEXT)'; \ + b='sentence'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) lang-c.log: lang-c @p='lang-c'; \ b='lang-c'; \ @@ -5123,6 +5505,13 @@ autopoint-3.log: autopoint-3 --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +cldr-plurals-1.log: cldr-plurals-1 + @p='cldr-plurals-1'; \ + b='cldr-plurals-1'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ @@ -5169,9 +5558,10 @@ distdir: $(DISTFILES) fi; \ done check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am -all-am: Makefile $(PROGRAMS) +all-am: Makefile installdirs: install: install-am install-exec: install-exec-am @@ -5209,7 +5599,7 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \ +clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \ mostlyclean-am distclean: distclean-am @@ -5279,7 +5669,7 @@ uninstall-am: .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-generic clean-libtool clean-local clean-noinstPROGRAMS \ + clean-checkPROGRAMS clean-generic clean-libtool clean-local \ cscopelist-am ctags ctags-am distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ @@ -5292,6 +5682,8 @@ uninstall-am: mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ recheck tags tags-am uninstall uninstall-am +.PRECIOUS: Makefile + # Update the expected test results. update-expected: xg-c-1.ok.po diff --git a/gettext-tools/tests/autopoint-2 b/gettext-tools/tests/autopoint-2 index 7820706..740937a 100755 --- a/gettext-tools/tests/autopoint-2 +++ b/gettext-tools/tests/autopoint-2 @@ -3,8 +3,6 @@ # Test the autopoint program, without Automake. -required_gettext_version=0.19.4 - : ${AUTOCONF=autoconf} ${AUTOCONF} --version >/dev/null 2>/dev/null \ || { echo "Skipping test: autoconf not found"; exit 77; } @@ -29,7 +27,7 @@ AC_CONFIG_AUX_DIR([build-aux]) AC_PROG_CC AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION([$required_gettext_version]) +AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION]) AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([po/Makefile.in]) @@ -57,7 +55,7 @@ AC_CONFIG_SRCDIR(hello.c) AC_PROG_CC AM_GNU_GETTEXT -AM_GNU_GETTEXT_VERSION([$required_gettext_version]) +AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION]) AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([po/Makefile.in]) @@ -84,7 +82,7 @@ AC_CONFIG_SRCDIR(hello.c) AC_PROG_CC AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION([$required_gettext_version]) +AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION]) # first macro directory, in which po.m4, etc. belong AC_CONFIG_MACRO_DIR([gettext-m4]) @@ -118,7 +116,7 @@ AC_CONFIG_SRCDIR(hello.c) AC_PROG_CC AM_GNU_GETTEXT([external], [need-formatstring-macros]) -AM_GNU_GETTEXT_VERSION([$required_gettext_version]) +AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION]) AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([po/Makefile.in]) @@ -150,7 +148,7 @@ _gt_recurse([a], [b], , [c]) AC_PROG_CC AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION([$required_gettext_version]) +AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION]) AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([po/Makefile.in]) @@ -168,3 +166,63 @@ test -f m4/po.m4 || exit 1 test -f po/Makefile.in.in || exit 1 rm -fr m4 po + +# Check for AM_GNU_GETTEXT_REQUIRE_VERSION. +cat <<EOF >configure.ac +AC_INIT +AC_CONFIG_SRCDIR(hello.c) + +AC_PROG_CC +AM_GNU_GETTEXT_REQUIRE_VERSION([0.19]) +AM_GNU_GETTEXT([external]) + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([po/Makefile.in]) +AC_OUTPUT +EOF + +$gettext_datadir/autopoint >/dev/null 2>autopoint.err +test $? = 0 || { cat autopoint.err; exit 1; } + +test ! -d intl || exit 1 +test -d m4 || exit 1 +test -d po || exit 1 + +test -f m4/po.m4 || exit 1 +test -f po/Makefile.in.in || exit 1 + +# Check for the case where both AM_GNU_GETTEXT_REQUIRE_VERSION and +# AM_GNU_GETTEXT_VERSION are used. +cat <<EOF >configure.ac +AC_INIT +AC_CONFIG_SRCDIR(hello.c) + +AC_PROG_CC +AM_GNU_GETTEXT +AM_GNU_GETTEXT_REQUIRE_VERSION([0.19]) +# This shall be ignored when AM_GNU_GETTEXT_REQUIRE_VERSION is defined +AM_GNU_GETTEXT_VERSION([0.19]) + +AC_CONFIG_MACRO_DIR([m4]) + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([po/Makefile.in]) +AC_OUTPUT +EOF + +$gettext_datadir/autopoint >autopoint.out 2>autopoint.err +test $? = 0 || { cat autopoint.err; exit 1; } + +grep 'using AM_GNU_GETTEXT_REQUIRE_VERSION' autopoint.out 2>&1 >/dev/null || exit 1 + +test -d intl || exit 1 +test -d m4 || exit 1 +test -d po || exit 1 + +cat >autopoint.ver <<EOF +GNU gettext library from gettext-$ARCHIVE_VERSION +EOF +: ${DIFF=diff} +${DIFF} autopoint.ver intl/VERSION || exit 1 +test -f m4/po.m4 || exit 1 +test -f po/Makefile.in.in || exit 1 diff --git a/gettext-tools/tests/autopoint-3 b/gettext-tools/tests/autopoint-3 index c128b4d..c0f468c 100755 --- a/gettext-tools/tests/autopoint-3 +++ b/gettext-tools/tests/autopoint-3 @@ -3,8 +3,6 @@ # Test the autopoint program, with Automake. -required_gettext_version=0.19.4 - : ${AUTOCONF=autoconf} ${AUTOCONF} --version >/dev/null 2>/dev/null \ || { echo "Skipping test: autoconf not found"; exit 77; } @@ -61,7 +59,7 @@ AC_CONFIG_MACRO_DIR([m4]) AC_PROG_CC AM_GNU_GETTEXT([use-libtool]) -AM_GNU_GETTEXT_VERSION([$required_gettext_version]) +AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([Makefile]) @@ -132,18 +130,6 @@ test $? = 0 || { cat autopoint.err; exit 1; } ${CONFIG_SHELL} ./configure --with-included-gettext >/dev/null 2>autpoint.err test $? = 0 || { cat autopoint.err; exit 1; } -# Workaround for 0.18.3 or earlier: Processing intl/plural.y with -# Bison 3.0.1 or later generates a wrong code. Use pre-generated -# intl/plural.c in that case. -test -f intl/plural.c && touch intl/plural.c - -# Workaround for a bug in 0.19 and 0.19.1: ChangeLog is missing in the archive. -case "$required_gettext_version" in - 0.19 | 0.19.1) - test -f intl/ChangeLog || : > intl/ChangeLog - ;; -esac - ${MAKE} >/dev/null 2>autopoint.err test $? = 0 || { cat autopoint.err; exit 1; } diff --git a/gettext-tools/tests/cldr-plurals-1 b/gettext-tools/tests/cldr-plurals-1 new file mode 100755 index 0000000..e593812 --- /dev/null +++ b/gettext-tools/tests/cldr-plurals-1 @@ -0,0 +1,59 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +: ${DIFF=diff} + +# Test conversion from CLDR to gettext, for Arabic and Russian + +LC_ALL=C "$top_builddir/src/cldr-plurals" ru /dev/null 2>&1 | grep 'extraction is not supported' > /dev/null 2>&1 +test $? = 0 && { + echo "Skipping test: cldr-plurals was built without XML support" + exit 77 +} + +cat > ar.ok <<\EOF +nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5); +EOF + +"$top_builddir/src/cldr-plurals" > ar.out <<\EOF +zero: n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000; one: n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000; two: n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000; few: n % 100 = 3..10 @integer 3~10, 103~110, 1003, … @decimal 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 103.0, 1003.0, …; many: n % 100 = 11..99 @integer 11~26, 111, 1011, … @decimal 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …; other: @integer 100~102, 200~202, 300~302, 400~402, 500~502, 600, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, … +EOF + +${DIFF} ar.ok ar.out || exit 1 + +cat > ru.ok <<\EOF +nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2); +EOF + +"$top_builddir/src/cldr-plurals" > ru.out <<\EOF +one: v = 0 and i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …; few: v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …; many: v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …; other: @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, … +EOF + +${DIFF} ru.ok ru.out || exit 1 + +# Test extraction from CLDR + +cat > foo.in <<\EOF +<supplementalData> + <plurals type="cardinal"> + <pluralRules locales="foo"> + <pluralRule count="one">i = 1 and v = 0 @integer 1</pluralRule> + <pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule> + </pluralRules> + </plurals> +</supplementalData> +EOF + +"$top_builddir/src/cldr-plurals" foo foo.in > foo.out +cat > foo.ok <<\EOF +nplurals=2; plural=(n != 1); +EOF +${DIFF} foo.ok foo.out || exit 1 + +"$top_builddir/src/cldr-plurals" -c foo foo.in > foo.cldr.out +cat > foo.cldr.ok <<\EOF +one: i = 1 and v = 0 @integer 1; other: @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, … +EOF +${DIFF} foo.cldr.ok foo.cldr.out || exit 1 + +exit 0 diff --git a/gettext-tools/tests/common/supplemental/plurals.xml b/gettext-tools/tests/common/supplemental/plurals.xml new file mode 100644 index 0000000..3a987fe --- /dev/null +++ b/gettext-tools/tests/common/supplemental/plurals.xml @@ -0,0 +1,10 @@ +<supplementalData> + <plurals type="cardinal"> + <pluralRules locales="foo"> + <pluralRule count="one">v = 0 and i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …</pluralRule> + <pluralRule count="few">v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …</pluralRule> + <pluralRule count="many">v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …</pluralRule> + <pluralRule count="other"> @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule> + </pluralRules> + </plurals> +</supplementalData> diff --git a/gettext-tools/tests/format-c-3-prg.c b/gettext-tools/tests/format-c-3-prg.c index dac0d26..b1239cf 100644 --- a/gettext-tools/tests/format-c-3-prg.c +++ b/gettext-tools/tests/format-c-3-prg.c @@ -1,5 +1,5 @@ /* Test program, used by the format-c-3 test. - Copyright (C) 2002, 2009 Free Software Foundation, Inc. + Copyright (C) 2002, 2009, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/format-c-4-prg.c b/gettext-tools/tests/format-c-4-prg.c index 78f014b..47cfb2e 100644 --- a/gettext-tools/tests/format-c-4-prg.c +++ b/gettext-tools/tests/format-c-4-prg.c @@ -1,5 +1,5 @@ /* Test program, used by the format-c-4 test. - Copyright (C) 2002, 2009 Free Software Foundation, Inc. + Copyright (C) 2002, 2009, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/format-c-5-prg.c b/gettext-tools/tests/format-c-5-prg.c index 942320b..f3529eb 100644 --- a/gettext-tools/tests/format-c-5-prg.c +++ b/gettext-tools/tests/format-c-5-prg.c @@ -1,5 +1,5 @@ /* Test program, used by the format-c-5 test. - Copyright (C) 2004, 2006, 2010 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2010, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/format-kde-kuit-1 b/gettext-tools/tests/format-kde-kuit-1 new file mode 100755 index 0000000..aeaa743 --- /dev/null +++ b/gettext-tools/tests/format-kde-kuit-1 @@ -0,0 +1,72 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test recognition of KUIT format strings. + +: ${XGETTEXT=xgettext} + +cat <<\EOF > f-kd-invalid.cpp +xi18n("<invalid>"); +EOF + +LC_ALL=C ${XGETTEXT} -L C++ --kde --flag=xi18n:1:kde-kuit-format -o - f-kd-invalid.cpp 2>&1 | grep 'not a valid KDE KUIT format' > /dev/null 2>&1 +test $? = 0 || { + echo "Skipping test: xgettext was built without KDE KUIT format support" + exit 77 +} + +cat <<\EOF > f-kd-1.data +# Unrecognized: unbalanced filename tag +"<filename>a" +# Unrecognized: unbalanced filename tag +"<filename>%1" +# Unrecognized: unbalanced filename tag +"<filename>%1</xfilename>" +# Valid: one argument +"<filename>%1</filename>" +# Valid: accelerator +"<command>&Application.About</command>" +# Valid: accelerator at the end +"<command>About</command>&A" +# Valid: accelerator +"<command>&/</command>" +# Valid: entity reference +"<command>&About</command>" +# Valid: character reference +"<command>**a</command>" +EOF + +n=0 +while read comment; do + read string + n=`expr $n + 1` + cat <<EOF > f-kd-1-$n.in +xi18n(${string}); +EOF + ${XGETTEXT} -L C++ --kde --flag=xi18n:1:kde-kuit-format --flag=i18n:1:kde-format -kxi18n -ki18n -o f-kd-1-$n.po f-kd-1-$n.in || exit 1 + test -f f-kd-1-$n.po || exit 1 + fail= + if echo "$comment" | grep 'Valid:' > /dev/null; then + if grep kde-kuit-format f-kd-1-$n.po > /dev/null; then + : + else + fail=yes + fi + else + if grep kde-kuit-format f-kd-1-$n.po > /dev/null; then + fail=yes + else + : + fi + fi + if test -n "$fail"; then + echo "Format string recognition error:" 1>&2 + cat f-kd-1-$n.in 1>&2 + echo "Got:" 1>&2 + cat f-kd-1-$n.po 1>&2 + exit 1 + fi + rm -f f-kd-1-$n.in f-kd-1-$n.po +done < f-kd-1.data + +exit 0 diff --git a/gettext-tools/tests/format-kde-kuit-2 b/gettext-tools/tests/format-kde-kuit-2 new file mode 100755 index 0000000..0634b62 --- /dev/null +++ b/gettext-tools/tests/format-kde-kuit-2 @@ -0,0 +1,80 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test checking of KDE KUIT format strings. + +cat <<\EOF > f-kd-invalid.po +#, kde-kuit-format +msgid "foo" +msgstr "<" +EOF + +: ${MSGFMT=msgfmt} + +LC_ALL=C ${MSGFMT} --check-format -o /dev/null f-kd-invalid.po 2>&1 | grep 'not a valid KDE KUIT format' > /dev/null 2>&1 +test $? = 0 || { + echo "Skipping test: msgfmt was built without KDE KUIT format support" + exit 77 +} + +cat <<\EOF > f-kd-2.data +# Valid: one argument +msgid "<filename>%1</filename>" +msgstr "<filename>%1</filename>" +# Invalid: missing argument +msgid "<filename>%1</filename>" +msgstr "<filename>foo</filename>" +# Valid: change the text +msgid "<filename>foo</filename>" +msgstr "<filename>bar</filename>" +# Invalid: unbalanced tag +msgid "<filename>foo</filename>" +msgstr "<filename>bar" +# Invalid: unbalanced tag +msgid "<filename>foo</filename>" +msgstr "<filename>bar</xfilename>" +# Valid: replaced tag +msgid "<filename>foo</filename>" +msgstr "<foo>foo</foo>" +# Valid: accelerator +msgid "<filename>&foo</filename>" +msgstr "<foo>&foo</foo>" +# Valid: entity reference +msgid "<filename>foo</filename>" +msgstr "<foo>&</foo>" +EOF + +n=0 +while read comment; do + read msgid_line + read msgstr_line + n=`expr $n + 1` + cat <<EOF > f-kd-2-$n.po +#, kde-kuit-format +${msgid_line} +${msgstr_line} +EOF + fail= + if echo "$comment" | grep 'Valid:' > /dev/null; then + if ${MSGFMT} --check-format -o f-kd-2-$n.mo f-kd-2-$n.po; then + : + else + fail=yes + fi + else + ${MSGFMT} --check-format -o f-kd-2-$n.mo f-kd-2-$n.po 2> /dev/null + if test $? = 1; then + : + else + fail=yes + fi + fi + if test -n "$fail"; then + echo "Format string checking error:" 1>&2 + cat f-kd-2-$n.po 1>&2 + exit 1 + fi + rm -f f-kd-2-$n.po f-kd-2-$n.mo +done < f-kd-2.data + +exit 0 diff --git a/gettext-tools/tests/gettext-3-prg.c b/gettext-tools/tests/gettext-3-prg.c index a51ea34..395b401 100644 --- a/gettext-tools/tests/gettext-3-prg.c +++ b/gettext-tools/tests/gettext-3-prg.c @@ -1,5 +1,5 @@ /* Test program, used by the gettext-3 test. - Copyright (C) 2000, 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 2000, 2005, 2007, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/gettext-4-prg.c b/gettext-tools/tests/gettext-4-prg.c index 01734ce..0dfc043 100644 --- a/gettext-tools/tests/gettext-4-prg.c +++ b/gettext-tools/tests/gettext-4-prg.c @@ -1,5 +1,5 @@ /* Test program, used by the gettext-4 test. - Copyright (C) 2001, 2005-2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2005-2006, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/gettext-5-prg.c b/gettext-tools/tests/gettext-5-prg.c index 0f28fbd..db1f9cf 100644 --- a/gettext-tools/tests/gettext-5-prg.c +++ b/gettext-tools/tests/gettext-5-prg.c @@ -1,5 +1,5 @@ /* Test program, used by the gettext-5 test. - Copyright (C) 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/gettext-6-prg.c b/gettext-tools/tests/gettext-6-prg.c index 01ed60c..e2148c9 100644 --- a/gettext-tools/tests/gettext-6-prg.c +++ b/gettext-tools/tests/gettext-6-prg.c @@ -1,5 +1,6 @@ /* Test program, used by the gettext-6 test. - Copyright (C) 2005-2007, 2009-2010 Free Software Foundation, Inc. + Copyright (C) 2005-2007, 2009-2010, 2015 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/gettext-7-prg.c b/gettext-tools/tests/gettext-7-prg.c index 437de64..6a6146b 100644 --- a/gettext-tools/tests/gettext-7-prg.c +++ b/gettext-tools/tests/gettext-7-prg.c @@ -1,5 +1,6 @@ /* Test program, used by the gettext-7 test. - Copyright (C) 2005-2007, 2009-2010 Free Software Foundation, Inc. + Copyright (C) 2005-2007, 2009-2010, 2015 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/gettext-8-prg.c b/gettext-tools/tests/gettext-8-prg.c index 7edd016..22b6b03 100644 --- a/gettext-tools/tests/gettext-8-prg.c +++ b/gettext-tools/tests/gettext-8-prg.c @@ -1,5 +1,5 @@ /* Test that gettext() does not crash by stack overflow when msgid is very long. - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/gettextpo-1-prg.c b/gettext-tools/tests/gettextpo-1-prg.c index 9ff6e10..ef53441 100644 --- a/gettext-tools/tests/gettextpo-1-prg.c +++ b/gettext-tools/tests/gettextpo-1-prg.c @@ -1,5 +1,5 @@ /* Test of public API for GNU gettext PO files. - Copyright (C) 2010 Free Software Foundation, Inc. + Copyright (C) 2010, 2015 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2010. This program is free software: you can redistribute it and/or modify diff --git a/gettext-tools/tests/init-env.in b/gettext-tools/tests/init-env.in index fa428f9..5d5bb89 100644 --- a/gettext-tools/tests/init-env.in +++ b/gettext-tools/tests/init-env.in @@ -1,6 +1,10 @@ # Variable needed by LTLIBINTL. top_builddir=../.. +# Variable needed by xgettext. +GETTEXTDATADIR="$abs_top_srcdir" +export GETTEXTDATADIR + OBJEXT="@OBJEXT@" EXEEXT="@EXEEXT@" CC="@CC@" @@ -22,6 +26,7 @@ LOCALE_FR="@LOCALE_FR@" LOCALE_FR_UTF8="@LOCALE_FR_UTF8@" LOCALE_JA="@LOCALE_JA@" host_os="@host_os@" +ARCHIVE_VERSION="@ARCHIVE_VERSION@" : ${GETTEXT=tstgettext} : ${NGETTEXT=tstngettext} diff --git a/gettext-tools/tests/init.sh b/gettext-tools/tests/init.sh index fbd293d..d366206 100644 --- a/gettext-tools/tests/init.sh +++ b/gettext-tools/tests/init.sh @@ -1,6 +1,6 @@ # source this file; set up for tests -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2015 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -93,6 +93,27 @@ skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; } fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; } framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; } +# This is used to simplify checking of the return value +# which is useful when ensuring a command fails as desired. +# I.e., just doing `command ... &&fail=1` will not catch +# a segfault in command for example. With this helper you +# instead check an explicit exit code like +# returns_ 1 command ... || fail +returns_ () { + # Disable tracing so it doesn't interfere with stderr of the wrapped command + { set +x; } 2>/dev/null + + local exp_exit="$1" + shift + "$@" + test $? -eq $exp_exit && ret_=0 || ret_=1 + + if test "$VERBOSE" = yes && test "$gl_set_x_corrupts_stderr_" = false; then + set -x + fi + { return $ret_; } 2>/dev/null +} + # Sanitize this shell to POSIX mode, if possible. DUALCASE=1; export DUALCASE if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then @@ -129,6 +150,7 @@ fi # ? - not ok gl_shell_test_script_=' test $(echo y) = y || exit 1 +f_local_() { local v=1; }; f_local_ || exit 1 score_=10 if test "$VERBOSE" = yes; then test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9 diff --git a/gettext-tools/tests/lang-bash b/gettext-tools/tests/lang-bash index f2e0e3b..7c74651 100755 --- a/gettext-tools/tests/lang-bash +++ b/gettext-tools/tests/lang-bash @@ -116,6 +116,19 @@ if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none; then exit 77 fi +case "$host_os" in + darwin*) + if test $LOCALE_FR != none; then + LC_ALL=$LOCALE_FR bash --help \ + | grep '^Utilisation' > /dev/null 2>&1 || exit 77 + fi + if test $LOCALE_FR_UTF8 != none; then + LC_ALL=$LOCALE_FR_UTF8 bash --help \ + | grep '^Utilisation' > /dev/null 2>&1 || exit 77 + fi + ;; +esac + # Expected result when bash is built without i18n support. cat <<\EOF > prog.nok 'Your command, please?', asked the waiter. diff --git a/gettext-tools/tests/mm-ko.euc-kr.po b/gettext-tools/tests/mm-ko.euc-kr.po index 45d2e4b..1962130 100644 --- a/gettext-tools/tests/mm-ko.euc-kr.po +++ b/gettext-tools/tests/mm-ko.euc-kr.po @@ -1,5 +1,5 @@ # Korean translation for dia -# Copyright (C) 2000 Free Software Foundation, Inc. +# Copyright (C) 2000, 2015 Free Software Foundation, Inc. # Young-Ho,Cha <ganadist@dacome.co.kr>, 2000. #: app/sheets.c:453 msgid "" diff --git a/gettext-tools/tests/mm-viet.out b/gettext-tools/tests/mm-viet.out index f57688b..9e510df 100644 --- a/gettext-tools/tests/mm-viet.out +++ b/gettext-tools/tests/mm-viet.out @@ -3034,8 +3034,8 @@ msgstr "_Ngôn ngữ" #. i18n: file data/abc.xml line 5 #: rc.cpp:46 rc.cpp:58 rc.cpp:106 rc.cpp:118 rc.cpp:146 rc.cpp:154 rc.cpp:158 -#: rc.cpp:166 rc.cpp:182 rc.cpp:286 rc.cpp:306 rc.cpp:314 rc.cpp:338 -#: rc.cpp:382 rc.cpp:410 rc.cpp:414 +#: rc.cpp:166 rc.cpp:182 rc.cpp:286 rc.cpp:306 rc.cpp:314 rc.cpp:338 rc.cpp:382 +#: rc.cpp:410 rc.cpp:414 msgid "" "_: Language Section\n" "Other" @@ -3051,11 +3051,11 @@ msgstr "_Ngôn ngữ" #. i18n: file data/ada.xml line 3 #: rc.cpp:50 rc.cpp:62 rc.cpp:94 rc.cpp:98 rc.cpp:102 rc.cpp:114 rc.cpp:130 -#: rc.cpp:134 rc.cpp:138 rc.cpp:150 rc.cpp:174 rc.cpp:178 rc.cpp:202 -#: rc.cpp:218 rc.cpp:226 rc.cpp:238 rc.cpp:242 rc.cpp:246 rc.cpp:254 -#: rc.cpp:270 rc.cpp:282 rc.cpp:290 rc.cpp:294 rc.cpp:298 rc.cpp:334 -#: rc.cpp:346 rc.cpp:350 rc.cpp:358 rc.cpp:390 rc.cpp:394 rc.cpp:418 -#: rc.cpp:426 rc.cpp:446 rc.cpp:466 rc.cpp:506 rc.cpp:522 rc.cpp:526 +#: rc.cpp:134 rc.cpp:138 rc.cpp:150 rc.cpp:174 rc.cpp:178 rc.cpp:202 rc.cpp:218 +#: rc.cpp:226 rc.cpp:238 rc.cpp:242 rc.cpp:246 rc.cpp:254 rc.cpp:270 rc.cpp:282 +#: rc.cpp:290 rc.cpp:294 rc.cpp:298 rc.cpp:334 rc.cpp:346 rc.cpp:350 rc.cpp:358 +#: rc.cpp:390 rc.cpp:394 rc.cpp:418 rc.cpp:426 rc.cpp:446 rc.cpp:466 rc.cpp:506 +#: rc.cpp:522 rc.cpp:526 msgid "" "_: Language Section\n" "Sources" @@ -3141,8 +3141,8 @@ msgstr "_Ngôn ngữ" #. i18n: file data/asp.xml line 3 #: rc.cpp:78 rc.cpp:90 rc.cpp:122 rc.cpp:142 rc.cpp:170 rc.cpp:214 rc.cpp:230 -#: rc.cpp:258 rc.cpp:266 rc.cpp:274 rc.cpp:310 rc.cpp:326 rc.cpp:378 -#: rc.cpp:438 rc.cpp:478 rc.cpp:498 rc.cpp:510 rc.cpp:514 rc.cpp:518 +#: rc.cpp:258 rc.cpp:266 rc.cpp:274 rc.cpp:310 rc.cpp:326 rc.cpp:378 rc.cpp:438 +#: rc.cpp:478 rc.cpp:498 rc.cpp:510 rc.cpp:514 rc.cpp:518 msgid "" "_: Language Section\n" "Markup" @@ -3158,9 +3158,8 @@ msgstr "_Ngôn ngữ" #. i18n: file data/awk.xml line 3 #: rc.cpp:82 rc.cpp:86 rc.cpp:126 rc.cpp:186 rc.cpp:190 rc.cpp:234 rc.cpp:262 -#: rc.cpp:302 rc.cpp:318 rc.cpp:362 rc.cpp:366 rc.cpp:374 rc.cpp:398 -#: rc.cpp:402 rc.cpp:406 rc.cpp:422 rc.cpp:430 rc.cpp:442 rc.cpp:470 -#: rc.cpp:482 rc.cpp:486 +#: rc.cpp:302 rc.cpp:318 rc.cpp:362 rc.cpp:366 rc.cpp:374 rc.cpp:398 rc.cpp:402 +#: rc.cpp:406 rc.cpp:422 rc.cpp:430 rc.cpp:442 rc.cpp:470 rc.cpp:482 rc.cpp:486 msgid "" "_: Language Section\n" "Scripts" @@ -3385,8 +3384,7 @@ msgid "" msgstr "_Ngôn ngữ" #. i18n: file data/fgl-4gl.xml line 3 -#: rc.cpp:194 rc.cpp:198 rc.cpp:278 rc.cpp:386 rc.cpp:454 rc.cpp:458 -#: rc.cpp:462 +#: rc.cpp:194 rc.cpp:198 rc.cpp:278 rc.cpp:386 rc.cpp:454 rc.cpp:458 rc.cpp:462 msgid "" "_: Language Section\n" "Database" diff --git a/gettext-tools/tests/msgexec-6 b/gettext-tools/tests/msgexec-6 new file mode 100755 index 0000000..acea8bc --- /dev/null +++ b/gettext-tools/tests/msgexec-6 @@ -0,0 +1,143 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test --newline option. + +cat <<\EOF > mex-test6.po +# HEADER. +# +msgid "" +msgstr "" +"Project-Id-Version: Bonnie Tyler\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: married-men:4 +#, fuzzy +msgid "The world is full of married men" +msgstr "So viele verheiratete Männer" + +#: married-men:5 +msgid "with wives who never understand" +msgstr "und ihre Frauen verstehen sie nicht" + +#: married-men:6 +msgid "They're looking for someone to share" +msgstr "" + +# schwer zu übersetzen... +#: married-men:7 +msgid "the excitement of a love affair" +msgstr "" + +#: married-men:8 +msgid "Just as soon as they find you" +msgstr "" + +#: married-men:9 +msgid "They warn you and darn you" +msgstr "" + +#~ msgid "You fly on the wings of romance" +#~ msgstr "Die Flügel der frischen Liebe\n" +#~ "heben dich zum Himmel" + +#, fuzzy +#~ msgid "In the eyes of the world" +#~ msgstr "Für die anderen" + +# Etwas freie Übersetzung. +#~ msgid "You're just another crazy girl" +#~ msgstr "bist du bloß ein verrücktes dummes Ding" + +#~ msgid "Who loves a married man" +#~ msgstr "das einen verheirateten Mann liebt" +EOF + +cat <<\EOF > mex-test6.sh +#! /bin/sh +echo "========================= $MSGEXEC_LOCATION =========================" | LC_ALL=C tr -d '\r' +cat <<MEOF +$MSGEXEC_MSGID +--- +MEOF +cat +echo | LC_ALL=C tr -d '\r' +exit 0 +EOF +chmod a+x mex-test6.sh + +: ${MSGEXEC=msgexec} +LC_ALL=C \ +${MSGEXEC} --newline -i mex-test6.po ./mex-test6.sh > mex-test6.out 2> mex-test6.err +result=$? +cat mex-test6.err | grep -v 'warning: Locale charset' | grep -v '^ ' +test $result = 0 || { exit 1; } + +cat <<\EOF > mex-test6.ok +========================= mex-test6.po:4 ========================= + +--- +Project-Id-Version: Bonnie Tyler +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit + + +========================= mex-test6.po:12 ========================= +The world is full of married men +--- +So viele verheiratete Männer + +========================= mex-test6.po:16 ========================= +with wives who never understand +--- +und ihre Frauen verstehen sie nicht + +========================= mex-test6.po:20 ========================= +They're looking for someone to share +--- + + +========================= mex-test6.po:25 ========================= +the excitement of a love affair +--- + + +========================= mex-test6.po:29 ========================= +Just as soon as they find you +--- + + +========================= mex-test6.po:33 ========================= +They warn you and darn you +--- + + +========================= mex-test6.po:36 ========================= +You fly on the wings of romance +--- +Die Flügel der frischen Liebe +heben dich zum Himmel + +========================= mex-test6.po:41 ========================= +In the eyes of the world +--- +Für die anderen + +========================= mex-test6.po:45 ========================= +You're just another crazy girl +--- +bist du bloß ein verrücktes dummes Ding + +========================= mex-test6.po:48 ========================= +Who loves a married man +--- +das einen verheirateten Mann liebt + +EOF + +: ${DIFF=diff} +${DIFF} mex-test6.ok mex-test6.out +result=$? + +exit $result diff --git a/gettext-tools/tests/msgfilter-7 b/gettext-tools/tests/msgfilter-7 index 8f4dbae..791441b 100755 --- a/gettext-tools/tests/msgfilter-7 +++ b/gettext-tools/tests/msgfilter-7 @@ -54,9 +54,19 @@ msgstr "" #~ msgstr "das einen verheirateten Mann liebt" EOF +cat <<\EOF > mf-test7.sh +#! /bin/sh + +# Eat up filter input to avoid EPIPE in the parent process. +cat > /dev/null + +echo testing +EOF +chmod +x mf-test7.sh + : ${MSGFILTER=msgfilter} LC_ALL=C ${MSGFILTER} -i mfi-test7.po -o mfi-test7.out \ - echo testing >mfi-test7.err 2>&1 + ./mf-test7.sh >mfi-test7.err 2>&1 result=$? cat mfi-test7.err | grep -v 'warning: Locale charset' | grep -v '^ ' test $result = 0 || { exit 1; } diff --git a/gettext-tools/tests/msgfilter-8 b/gettext-tools/tests/msgfilter-8 new file mode 100755 index 0000000..3ffcb5e --- /dev/null +++ b/gettext-tools/tests/msgfilter-8 @@ -0,0 +1,164 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test --newline option. + +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + +cat <<\EOF > mfi-test8.po +# HEADER. +# +msgid "" +msgstr "" +"Project-Id-Version: Bonnie Tyler\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: married-men:4 +#, fuzzy +msgid "The world is full of married men" +msgstr "So viele verheiratete Männer" + +#: married-men:5 +msgid "with wives who never understand" +msgstr "und ihre Frauen verstehen sie nicht" + +#: married-men:6 +msgid "They're looking for someone to share" +msgstr "" + +# schwer zu übersetzen... +#: married-men:7 +msgid "the excitement of a love affair" +msgstr "" + +#: married-men:8 +msgid "Just as soon as they find you" +msgstr "" + +#: married-men:9 +msgid "They warn you and darn you" +msgstr "" + +#~ msgid "You fly on the wings of romance" +#~ msgstr "Die Flügel der frischen Liebe heben dich zum Himmel" + +#, fuzzy +#~ msgid "In the eyes of the world" +#~ msgstr "Für die anderen" + +# Etwas freie Übersetzung. +#~ msgid "You're just another crazy girl" +#~ msgstr "bist du bloß ein verrücktes dummes Ding" + +#~ msgid "Who loves a married man" +#~ msgstr "das einen verheirateten Mann liebt" +EOF + +cat <<\EOF > filter.sh +#!/bin/sh +cat +if test "$MSGFILTER_MSGID" = "the excitement of a love affair"; then + echo $ac_n "non-terminated line$ac_c" +else + echo terminated line +fi +EOF + +: ${MSGFILTER=msgfilter} +: ${CONFIG_SHELL=${SHELL-/bin/sh}} +LC_ALL=C ${MSGFILTER} --newline -i mfi-test8.po -o mfi-test8.out \ + ${CONFIG_SHELL} filter.sh >mfi-test8.err 2>&1 +result=$? +cat mfi-test8.err | grep -v 'warning: Locale charset' | grep -v '^ ' +test $result = 0 || { exit 1; } +cat mfi-test8.err | grep 'msgfilter: filter output is not terminated with a newline' >/dev/null +test $result = 0 || { exit 1; } + +cat <<\EOF > mfi-test8.ok +# HEADER. +# +msgid "" +msgstr "" +"Project-Id-Version: Bonnie Tyler\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"\n" +"terminated line" + +#: married-men:4 +#, fuzzy +msgid "The world is full of married men" +msgstr "" +"So viele verheiratete Männer\n" +"terminated line" + +#: married-men:5 +msgid "with wives who never understand" +msgstr "" +"und ihre Frauen verstehen sie nicht\n" +"terminated line" + +#: married-men:6 +msgid "They're looking for someone to share" +msgstr "" +"\n" +"terminated line" + +# schwer zu übersetzen... +#: married-men:7 +msgid "the excitement of a love affair" +msgstr "" +"\n" +"non-terminated line" + +#: married-men:8 +msgid "Just as soon as they find you" +msgstr "" +"\n" +"terminated line" + +#: married-men:9 +msgid "They warn you and darn you" +msgstr "" +"\n" +"terminated line" + +#~ msgid "You fly on the wings of romance" +#~ msgstr "" +#~ "Die Flügel der frischen Liebe heben dich zum Himmel\n" +#~ "terminated line" + +#, fuzzy +#~ msgid "In the eyes of the world" +#~ msgstr "" +#~ "Für die anderen\n" +#~ "terminated line" + +# Etwas freie Übersetzung. +#~ msgid "You're just another crazy girl" +#~ msgstr "" +#~ "bist du bloß ein verrücktes dummes Ding\n" +#~ "terminated line" + +#~ msgid "Who loves a married man" +#~ msgstr "" +#~ "das einen verheirateten Mann liebt\n" +#~ "terminated line" +EOF + +: ${DIFF=diff} +${DIFF} mfi-test8.ok mfi-test8.out +result=$? + +exit $result diff --git a/gettext-tools/tests/msgfmt-xml-1 b/gettext-tools/tests/msgfmt-xml-1 new file mode 100755 index 0000000..40e956b --- /dev/null +++ b/gettext-tools/tests/msgfmt-xml-1 @@ -0,0 +1,119 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test iterative mode of msgfmt --xml. + +cat <<\EOF > mf.appdata.xml +<?xml version="1.0" encoding="UTF-8"?> +<component type="desktop"> + <id>org.gnome.Characters.desktop</id> + <name>GNOME Characters</name> + <summary>Character map application</summary> + <licence>CC0</licence> + <description> + <p> + Characters is a simple utility application to find and insert + unusual characters. It allows you to quickly find the character + you are looking for by searching for keywords. + </p> + <p> + You can also browse characters by categories, such as + Punctuation, Pictures, etc. + </p> + </description> + <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url> + <updatecontact>dueno_at_src.gnome.org</updatecontact> +</component> +EOF + +cat <<\EOF > fr.po +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-03-17 07:36+0900\n" +"PO-Revision-Date: 2014-03-17 08:40+0900\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Caractères est un utilitaire pour chercher et insérer des caractères " +"inhabituels. Il vous permet de trouver rapidement le caractère que vous " +"cherchez par le biais de mots-clés." + +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Vous pouvez aussi naviguer dans les caractères par catégories, comme par " +"Ponctuation, Images, etc." +EOF + +cat <<\EOF > mf.appdata.xml.ok +<?xml version="1.0" encoding="UTF-8"?> +<component type="desktop"> + <id>org.gnome.Characters.desktop</id> + <name>GNOME Characters</name> + <summary>Character map application</summary> + <licence>CC0</licence> + <description> + <p> + Characters is a simple utility application to find and insert + unusual characters. It allows you to quickly find the character + you are looking for by searching for keywords. + </p> + <p xml:lang="fr">Caractères est un utilitaire pour chercher et insérer des caractères inhabituels. Il vous permet de trouver rapidement le caractère que vous cherchez par le biais de mots-clés.</p> + <p> + You can also browse characters by categories, such as + Punctuation, Pictures, etc. + </p> + <p xml:lang="fr">Vous pouvez aussi naviguer dans les caractères par catégories, comme par Ponctuation, Images, etc.</p> + </description> + <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url> + <updatecontact>dueno_at_src.gnome.org</updatecontact> +</component> +EOF + +# Sanity checks for contradicting options. + +${MSGFMT} --xml --template=mf.appdata.xml -l fr fr.po \ + >/dev/null 2>/dev/null \ + && exit 1 + +${MSGFMG} --xml --template=mf.appdata.xml fr.po -o mf.appdata.xml.out \ + >/dev/null 2>/dev/null \ + && exit 1 + +# Proceed to the XML file generation. + +${MSGFMT} --xml --template=mf.appdata.xml -l fr fr.po -o mf.appdata.xml.out \ + || exit 1 + +: ${DIFF=diff} +${DIFF} mf.appdata.xml.ok mf.appdata.xml.out +result=$? +test $result = 0 || exit $result + +# Test -L option. +cp mf.appdata.xml mf.xml +${MSGFMT} --xml --template=mf.xml -L AppData -l fr fr.po -o mf.appdata.xml.out \ + || exit 1 +${DIFF} mf.appdata.xml.ok mf.appdata.xml.out +result=$? +test $result = 0 || exit $result + +exit $result diff --git a/gettext-tools/tests/msgfmt-xml-2 b/gettext-tools/tests/msgfmt-xml-2 new file mode 100755 index 0000000..d10d21c --- /dev/null +++ b/gettext-tools/tests/msgfmt-xml-2 @@ -0,0 +1,203 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test 'bulk' mode of msgfmt --xml. + +cat <<\EOF > mf.appdata.xml +<?xml version="1.0" encoding="UTF-8"?> +<component type="desktop"> + <id>org.gnome.Characters.desktop</id> + <name>GNOME Characters</name> + <summary>Character map application</summary> + <licence>CC0</licence> + <description> + <p> + Characters is a simple utility application to find and insert + unusual characters. It allows you to quickly find the character + you are looking for by searching for keywords. + </p> + <p> + You can also browse characters by categories, such as + Punctuation, Pictures, etc. + </p> + </description> + <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url> + <updatecontact>dueno_at_src.gnome.org</updatecontact> +</component> +EOF + +test -d po || mkdir po + +cat <<\EOF > po/fr.po +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-03-17 07:36+0900\n" +"PO-Revision-Date: 2014-03-17 08:40+0900\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Caractères est un utilitaire pour chercher et insérer des caractères " +"inhabituels. Il vous permet de trouver rapidement le caractère que vous " +"cherchez par le biais de mots-clés." + +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Vous pouvez aussi naviguer dans les caractères par catégories, comme par " +"Ponctuation, Images, etc." +EOF + +cat <<\EOF > po/de.po +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-03-17 07:36+0900\n" +"PO-Revision-Date: 2014-03-17 08:40+0900\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for by " +"searching for keywords." +msgstr "" +"Zeichen ist ein einfaches Hilfsprogramm zum Auffinden und Einsetzen von selten " +"verwendeten Zeichen. Sie können schnell das gesuchte Zeichen finden, indem Sie " +"nach Schlüsselwörtern suchen." + +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Sie können ebenfalls nach Kategorie suchen, wie z.B. nach Zeichensetzung oder " +"Bildern." +EOF + +cat <<\EOF > mf.appdata.xml.ok +<?xml version="1.0" encoding="UTF-8"?> +<component type="desktop"> + <id>org.gnome.Characters.desktop</id> + <name>GNOME Characters</name> + <summary>Character map application</summary> + <licence>CC0</licence> + <description> + <p> + Characters is a simple utility application to find and insert + unusual characters. It allows you to quickly find the character + you are looking for by searching for keywords. + </p> + <p xml:lang="fr">Caractères est un utilitaire pour chercher et insérer des caractères inhabituels. Il vous permet de trouver rapidement le caractère que vous cherchez par le biais de mots-clés.</p> + <p xml:lang="de">Zeichen ist ein einfaches Hilfsprogramm zum Auffinden und Einsetzen von selten verwendeten Zeichen. Sie können schnell das gesuchte Zeichen finden, indem Sie nach Schlüsselwörtern suchen.</p> + <p> + You can also browse characters by categories, such as + Punctuation, Pictures, etc. + </p> + <p xml:lang="fr">Vous pouvez aussi naviguer dans les caractères par catégories, comme par Ponctuation, Images, etc.</p> + <p xml:lang="de">Sie können ebenfalls nach Kategorie suchen, wie z.B. nach Zeichensetzung oder Bildern.</p> + </description> + <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url> + <updatecontact>dueno_at_src.gnome.org</updatecontact> +</component> +EOF + +cat <<\EOF > mf.appdata.xml.desired.ok +<?xml version="1.0" encoding="UTF-8"?> +<component type="desktop"> + <id>org.gnome.Characters.desktop</id> + <name>GNOME Characters</name> + <summary>Character map application</summary> + <licence>CC0</licence> + <description> + <p> + Characters is a simple utility application to find and insert + unusual characters. It allows you to quickly find the character + you are looking for by searching for keywords. + </p> + <p xml:lang="fr">Caractères est un utilitaire pour chercher et insérer des caractères inhabituels. Il vous permet de trouver rapidement le caractère que vous cherchez par le biais de mots-clés.</p> + <p> + You can also browse characters by categories, such as + Punctuation, Pictures, etc. + </p> + <p xml:lang="fr">Vous pouvez aussi naviguer dans les caractères par catégories, comme par Ponctuation, Images, etc.</p> + </description> + <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url> + <updatecontact>dueno_at_src.gnome.org</updatecontact> +</component> +EOF + +unset LINGUAS + +# Sanity checks for contradicting options. + +${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out \ + >/dev/null 2>/dev/null \ + exit 1 + +test -d po/LINGUAS || mkdir po/LINGUAS + +${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out \ + >/dev/null 2>/dev/null \ + exit 1 + +rm -fr po/LINGUAS + +cat <<\EOF > po/LINGUAS +de +fr +EOF + +${MSGFMT} --xml --template=mf.appdata.xml -d po \ + >/dev/null 2>/dev/null \ + && exit 1 + +${MSGFMG} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out -l fr \ + >/dev/null 2>/dev/null \ + && exit 1 + +${MSGFMG} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out po/fr.po \ + >/dev/null 2>/dev/null \ + && exit 1 + +# Proceed to the .desktop file generation. + +${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out || exit 1 +: ${DIFF=diff} +${DIFF} mf.appdata.xml.ok mf.appdata.xml.out +test $? = 0 || exit 1 + +# Restrict the desired languages with the LINGUAS envvar. + +LINGUAS="fr ja" ${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.desired.out || exit 1 + +: ${DIFF=diff} +${DIFF} mf.appdata.xml.desired.ok mf.appdata.xml.desired.out +test $? = 0 || exit 1 diff --git a/gettext-tools/tests/msginit-4 b/gettext-tools/tests/msginit-4 new file mode 100755 index 0000000..369f152 --- /dev/null +++ b/gettext-tools/tests/msginit-4 @@ -0,0 +1,85 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test filling Plural-Forms: with Unicode CLDR + +LC_ALL=C "$top_builddir/src/cldr-plurals" ru /dev/null 2>&1 | grep 'extraction is not supported' > /dev/null 2>&1 +test $? = 0 && { + echo "Skipping test: cldr-plurals was built without XML support" + exit 77 +} + +cat <<\EOF > mi-test4.pot +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#, c-format +msgid "'Your command, please?', asked the waiter." +msgstr "" + +#, c-format +msgid "a piece of cake" +msgid_plural "%d pieces of cake" +msgstr[0] "" +msgstr[1] "" + +#, c-format +msgid "%s is replaced by %s." +msgstr "" +EOF + +: ${MSGINIT=msginit} +GETTEXTLIBDIR="$top_builddir"/src GETTEXTCLDRDIR="$abs_srcdir" ${MSGINIT} -l foo --no-translator --no-wrap -o mi-test4.tmp 2>mi-test4.err +test $? = 0 || { cat mi-test4.err 1>&2; exit 1; } + +# The charset stored in the header entry is the locale encoding of the gl_IE +# locale, which is system dependent, or ASCII if the locale does not exist. +# +# Project-Id-Version contains version constructed from a temporary +# directory name +sed -e '1,10d' -e 's/\(ISO-8859-1\|CP1252\|UTF-8\)/ASCII/g' < mi-test4.tmp | grep -v Project-Id-Version | LC_ALL=C tr -d '\r' > mi-test4.out || exit 1 +cat <<\EOF > mi-test4.ok +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: foo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ASCII\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" + +#, c-format +msgid "'Your command, please?', asked the waiter." +msgstr "" + +#, c-format +msgid "a piece of cake" +msgid_plural "%d pieces of cake" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, c-format +msgid "%s is replaced by %s." +msgstr "" +EOF + +: ${DIFF=diff} +${DIFF} mi-test4.ok mi-test4.out +result=$? + +exit $result diff --git a/gettext-tools/tests/plural-1-prg.c b/gettext-tools/tests/plural-1-prg.c index f0e7c81..9b32f7c 100644 --- a/gettext-tools/tests/plural-1-prg.c +++ b/gettext-tools/tests/plural-1-prg.c @@ -1,5 +1,5 @@ /* Test program, used by the plural-1 test. - Copyright (C) 2001-2002, 2009 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2009, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/sentence b/gettext-tools/tests/sentence new file mode 100755 index 0000000..481a20f --- /dev/null +++ b/gettext-tools/tests/sentence @@ -0,0 +1,228 @@ +#! /bin/bash + +# sentence - temporary wrapper script for .libs/sentence +# Generated by libtool (GNU libtool) 2.4.6 +# +# The sentence program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/ueno/devel/gettext/gettext-tools/tests; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/home/ueno/.local/bin:/home/ueno/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games; export PATH; gcc -std=gnu99 -O0 -g3 -Wall -o \$progdir/\$file sentence-sentence.o ../src/.libs/libgettextsrc.so -L/usr/lib/x86_64-linux-gnu /home/ueno/devel/gettext/gettext-tools/gnulib-lib/.libs/libgettextlib.so -lacl -lm -lcroco-0.6 -lglib-2.0 -lncurses ../intl/.libs/libgnuintl.so -lc -fopenmp -Wl,-rpath -Wl,/home/ueno/devel/gettext/gettext-tools/src/.libs -Wl,-rpath -Wl,/home/ueno/devel/gettext/gettext-tools/gnulib-lib/.libs -Wl,-rpath -Wl,/home/ueno/devel/gettext/gettext-tools/intl/.libs)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.4.6' + notinst_deplibs=' ../src/libgettextsrc.la /home/ueno/devel/gettext/gettext-tools/gnulib-lib/libgettextlib.la ../intl/libgnuintl.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + file="$0" + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + ECHO="printf %s\\n" + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ that is used only on +# windows platforms, and (c) all begin with the string --lt- +# (application programs are unlikely to have options that match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's ../libtool value, followed by no. +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=$0 + shift + for lt_opt + do + case "$lt_opt" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 's%/[^/]*$%%'` + test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=. + lt_dump_F=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 's%^.*/%%'` + cat "$lt_dump_D/$lt_dump_F" + exit 0 + ;; + --lt-*) + $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n "$lt_option_debug"; then + echo "sentence:sentence:$LINENO: libtool wrapper (GNU libtool) 2.4.6" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + $ECHO "sentence:sentence:$LINENO: newargv[$lt_dump_args_N]: $lt_arg" + lt_dump_args_N=`expr $lt_dump_args_N + 1` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ + + if test -n "$lt_option_debug"; then + $ECHO "sentence:sentence:$LINENO: newargv[0]: $progdir/$program" 1>&2 + func_lt_dump_args ${1+"$@"} 1>&2 + fi + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from $@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case " $* " in + *\ --lt-*) + for lt_wr_arg + do + case $lt_wr_arg in + --lt-*) ;; + *) set x "$@" "$lt_wr_arg"; shift;; + esac + shift + done ;; + esac + func_exec_program_core ${1+"$@"} +} + + # Parse options + func_parse_lt_options "$0" ${1+"$@"} + + # Find the directory that this script lives in. + thisdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "$file" | /bin/sed 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /bin/sed 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'sentence' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + $ECHO "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + func_exec_program ${1+"$@"} + fi + else + # The program doesn't exist. + $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + $ECHO "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/gettext-tools/tests/sentence.c b/gettext-tools/tests/sentence.c new file mode 100644 index 0000000..839f6c8 --- /dev/null +++ b/gettext-tools/tests/sentence.c @@ -0,0 +1,85 @@ +/* Test of sentence handling. + Copyright (C) 2015 Free Software Foundation, Inc. + Written by Daiki Ueno <ueno@gnu.org>, 2015. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include "sentence.h" + +#include <assert.h> +#include <string.h> + +#define PRIMARY "This is a primary sentence" +#define SECONDARY "This is a secondary sentence" + +#define SIZEOF(x) (sizeof (x) / sizeof (*x)) + +struct data +{ + int required_spaces; + const char *input; + + const char *expected_prefix; + ucs4_t expected_ending_char; +}; + +const struct data data[] = + { + { 1, PRIMARY, PRIMARY, 0xfffd }, + { 1, PRIMARY ".", PRIMARY, '.' }, + { 1, PRIMARY ".x", PRIMARY ".x", 0xfffd }, + { 2, PRIMARY ". " SECONDARY, PRIMARY, '.' }, + { 1, PRIMARY ". " SECONDARY, PRIMARY, '.' }, + { 1, PRIMARY ".' " SECONDARY, PRIMARY, '.' }, + { 3, PRIMARY ". " SECONDARY, PRIMARY ". " SECONDARY, 0xfffd }, + { 2, PRIMARY ".' " SECONDARY, PRIMARY, '.' }, + { 2, PRIMARY ".'x " SECONDARY, PRIMARY ".'x " SECONDARY, 0xfffd }, + { 2, PRIMARY ".''x " SECONDARY, PRIMARY ".''x " SECONDARY, 0xfffd }, + { 2, PRIMARY ".\n" SECONDARY, PRIMARY, '.' }, + { 2, PRIMARY ". \n" SECONDARY, PRIMARY, '.' }, + { 2, PRIMARY ".\xc2\xa0\n" SECONDARY, PRIMARY, '.' }, + { 2, PRIMARY ".\t" SECONDARY, PRIMARY, '.' }, + { 2, PRIMARY ".'\t" SECONDARY, PRIMARY, '.' }, + { 2, PRIMARY ".'\n" SECONDARY, PRIMARY, '.' } + }; + +static void +check_sentence_end (const struct data *d) +{ + int saved_required_spaces = sentence_end_required_spaces; + const char *result; + ucs4_t ending_char; + + sentence_end_required_spaces = d->required_spaces; + result = sentence_end (d->input, &ending_char); + sentence_end_required_spaces = saved_required_spaces; + + assert (result == d->input + strlen (d->expected_prefix)); + assert (ending_char == d->expected_ending_char); +} + +int +main (int argc, char **argv) +{ + int i; + + for (i = 0; i < SIZEOF (data); i++) + check_sentence_end (&data[i]); + + return 0; +} diff --git a/gettext-tools/tests/setlocale.c b/gettext-tools/tests/setlocale.c index 7e4fdd8..fd92909 100644 --- a/gettext-tools/tests/setlocale.c +++ b/gettext-tools/tests/setlocale.c @@ -1,5 +1,5 @@ /* Fake setlocale - platform independent, for testing purposes. - Copyright (C) 2001-2002 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/testlocale.c b/gettext-tools/tests/testlocale.c index 843dedf..5573e34 100644 --- a/gettext-tools/tests/testlocale.c +++ b/gettext-tools/tests/testlocale.c @@ -1,5 +1,5 @@ /* testlocale - test whether the locale given by the environment is installed. - Copyright (C) 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/tstgettext.c b/gettext-tools/tests/tstgettext.c index 8c2020e..f59e61f 100644 --- a/gettext-tools/tests/tstgettext.c +++ b/gettext-tools/tests/tstgettext.c @@ -1,5 +1,6 @@ /* gettext - retrieve text string from message catalog and print it. - Copyright (C) 1995-1997, 2000-2007, 2012 Free Software Foundation, Inc. + Copyright (C) 1995-1997, 2000-2007, 2012, 2015 Free Software + Foundation, Inc. Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, May 1995. This program is free software: you can redistribute it and/or modify diff --git a/gettext-tools/tests/tstngettext.c b/gettext-tools/tests/tstngettext.c index 097748b..2e039a0 100644 --- a/gettext-tools/tests/tstngettext.c +++ b/gettext-tools/tests/tstngettext.c @@ -1,5 +1,6 @@ /* ngettext - retrieve plural form strings from message catalog and print them. - Copyright (C) 1995-1997, 2000-2007, 2012 Free Software Foundation, Inc. + Copyright (C) 1995-1997, 2000-2007, 2012, 2015 Free Software + Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/gettext-tools/tests/xg-c-1.ok.po b/gettext-tools/tests/xg-c-1.ok.po index dd51559..5299d6f 100644 --- a/gettext-tools/tests/xg-c-1.ok.po +++ b/gettext-tools/tests/xg-c-1.ok.po @@ -5,6 +5,14 @@ msgstr "" msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n" msgstr "" +#, c-format +msgid "syntax check '%s' unknown" +msgstr "" + +#, c-format +msgid "sentence end type '%s' unknown" +msgstr "" + #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -43,10 +51,25 @@ msgid "" msgstr "" #, c-format +msgid "warning: ITS rule file '%s' does not exist" +msgstr "" + +#, c-format +msgid "" +"warning: ITS rule file '%s' does not exist; check your gettext installation" +msgstr "" + +#, c-format msgid "warning: file '%s' extension '%s' is unknown; will try C" msgstr "" #, c-format +msgid "found %d fatal error" +msgid_plural "found %d fatal errors" +msgstr[0] "" +msgstr[1] "" + +#, c-format msgid "Try '%s --help' for more information.\n" msgstr "" @@ -170,6 +193,20 @@ msgid "" msgstr "" #, c-format +msgid "" +" --check=NAME perform syntax check on messages\n" +" (ellipsis-unicode, space-ellipsis,\n" +" quote-unicode)\n" +msgstr "" + +#, c-format +msgid "" +" --sentence-end=TYPE type describing the end of sentence\n" +" (single-space, which is the default, \n" +" or double-space)\n" +msgstr "" + +#, c-format msgid "Language specific options:\n" msgstr "" @@ -304,6 +341,14 @@ msgid "" msgstr "" #, c-format +msgid " --its=FILE apply ITS rules from FILE\n" +msgstr "" + +#, c-format +msgid " --itstool write out itstool comments\n" +msgstr "" + +#, c-format msgid " -w, --width=NUMBER set output page width\n" msgstr "" @@ -505,10 +550,8 @@ msgid "%s is only valid with %s, %s or %s" msgstr "" #, c-format -msgid "found %d fatal error" -msgid_plural "found %d fatal errors" -msgstr[0] "" -msgstr[1] "" +msgid "cannot locate ITS rules for %s" +msgstr "" #, c-format msgid "%s: " @@ -581,6 +624,10 @@ msgid "" msgstr "" #, c-format +msgid " --xml XML mode: generate XML file\n" +msgstr "" + +#, c-format msgid " -o, --output-file=FILE write output to specified file\n" msgstr "" @@ -671,6 +718,18 @@ msgid "" msgstr "" #, c-format +msgid "XML mode options:\n" +msgstr "" + +#, c-format +msgid " -L, --language=NAME recognise the specified XML language\n" +msgstr "" + +#, c-format +msgid " --template=TEMPLATE an XML file used as a template\n" +msgstr "" + +#, c-format msgid "Input file syntax:\n" msgstr "" diff --git a/gettext-tools/tests/xg-c-21.c b/gettext-tools/tests/xg-c-21.c Binary files differnew file mode 100644 index 0000000..d49b6f0 --- /dev/null +++ b/gettext-tools/tests/xg-c-21.c diff --git a/gettext-tools/tests/xgettext-13 b/gettext-tools/tests/xgettext-13 new file mode 100755 index 0000000..dcd1004 --- /dev/null +++ b/gettext-tools/tests/xgettext-13 @@ -0,0 +1,59 @@ +#!/bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test wrapping long lines. +# Both msgid and location comments should wrap at the same column. + +cat <<\EOF > xg-test13.c +/* With --width=30, the following 10 gettext calls will produce: + + #: x:1 x:2 x:3 x:4 x:5 x:6 x:7 + #: x:8 x:9 x:10 + msgid "a" + + because strlen("#:") + strlen(" x:N") * 7 = 30. */ +#line 1 "x" +gettext ("a"); +gettext ("a"); +gettext ("a"); +gettext ("a"); +gettext ("a"); +gettext ("a"); +gettext ("a"); +gettext ("a"); +gettext ("a"); +gettext ("a"); + +/* And the following gettext call will produce: + + msgid "" + "x:1 x:2 x:3 x:4 x:5 x:6 x:7 " + "x:8 x:9 x:10" + + because strlen("\"") + strlen("x:N ") * 7 + strlen("\"") = 30. */ +gettext ("x:1 x:2 x:3 x:4 x:5 x:6 x:7 x:8 x:9 x:10"); +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} --omit-header --add-location --width=30 -d xg-test13.tmp \ + xg-test13.c || exit 1 +LC_ALL=C tr -d '\r' < xg-test13.tmp.po > xg-test13.po || exit 1 + +cat <<\EOF > xg-test13.ok +#: x:1 x:2 x:3 x:4 x:5 x:6 x:7 +#: x:8 x:9 x:10 +msgid "a" +msgstr "" + +#: x:19 +msgid "" +"x:1 x:2 x:3 x:4 x:5 x:6 x:7 " +"x:8 x:9 x:10" +msgstr "" +EOF + +: ${DIFF=diff} +${DIFF} xg-test13.ok xg-test13.po +result=$? + +exit $result diff --git a/gettext-tools/tests/xgettext-14 b/gettext-tools/tests/xgettext-14 new file mode 100755 index 0000000..b769b2f --- /dev/null +++ b/gettext-tools/tests/xgettext-14 @@ -0,0 +1,98 @@ +#!/bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test for --check option. + +# --check=ellipsis-unicode +cat <<\EOF > xg-ellipsis-u.c +gettext ("This is a sentence..."); + +ngettext ("This is a sentence", "These are sentences...", 2); + +/* xgettext: no-ellipsis-unicode-check */ +gettext ("This is another sentence..."); + +gettext ("This is a multi-sentence example. This is the first sentence. " + "This is the second..., no it's not, this is the second sentence...\n" + "This is the third sentence...? Perhaps.\n"); +EOF + +: ${XGETTEXT=xgettext} +LANGUAGE= LC_ALL=C ${XGETTEXT} --omit-header --add-comments --check=ellipsis-unicode -d xg-ellipsis-u.tmp xg-ellipsis-u.c 2>xg-ellipsis-u.err + +test `grep -c 'ASCII ellipsis' xg-ellipsis-u.err` = 4 || exit 1 + +LANGUAGE= LC_ALL=C ${XGETTEXT} --omit-header --add-comments --check=ellipsis-unicode --sentence-end=double-space -d xg-ellipsis-ud.tmp xg-ellipsis-u.c 2>xg-ellipsis-ud.err + +test `grep -c 'ASCII ellipsis' xg-ellipsis-ud.err` = 3 || exit 1 + +# --check=space-ellipsis +cat <<\EOF > xg-space-e.c +gettext ("This is a sentence ..."); + +/* xgettext: no-space-ellipsis-check, no-ellipsis-unicode-check */ +gettext ("This is another sentence ..."); + +gettext ("This is a multi-sentence example. This is the first sentence. " + "This is the second..., no it's not, this is the second sentence ...\n" + "This is the third sentence \u2026? Perhaps.\n"); +EOF + +LANGUAGE= LC_ALL=C ${XGETTEXT} --omit-header --add-comments --check=space-ellipsis -d xg-space-e.tmp xg-space-e.c 2>xg-space-e.err + +test `grep -c 'space before ellipsis' xg-space-e.err` = 3 || exit 1 + +# --check=quote-unicode +cat <<\EOF > xg-quote-u.c +gettext ("\"double quoted\""); + +/* xgettext: no-quote-unicode-check */ +gettext ("\"double quoted but ignored\""); + +gettext ("double quoted but empty \"\""); + +gettext ("\"\" double quoted but empty"); + +gettext ("\"foo\" \"bar\" \"baz\""); + +gettext ("'single quoted'"); + +/* xgettext: no-quote-unicode-check */ +gettext ("'single quoted but ignored'"); + +gettext ("'foo' 'bar' 'baz'"); + +gettext ("prefix'single quoted without surrounding spaces'suffix"); + +gettext ("prefix 'single quoted with surrounding spaces' suffix"); + +gettext ("single quoted with apostrophe, empty '' "); + +gettext ("'single quoted at the beginning of string' "); + +gettext (" 'single quoted at the end of string'"); + +gettext ("line 1\n" +"'single quoted at the beginning of line' \n" +"line 3"); + +gettext ("line 1\n" +" 'single quoted at the end of line'\n" +"line 3"); + +gettext ("`single quoted with grave'"); + +/* xgettext: no-quote-unicode-check */ +gettext ("`single quoted with grave but ignored'"); + +gettext ("single quoted with grave, empty `'"); + +gettext ("`' single quoted with grave, empty"); + +gettext ("`double grave`"); +EOF + +LANGUAGE= LC_ALL=C ${XGETTEXT} --omit-header --add-comments --check=quote-unicode -d xg-quote-u.tmp xg-quote-u.c 2>xg-quote-u.err + +test `grep -c 'ASCII double quote' xg-quote-u.err` = 4 || exit 1 +test `grep -c 'ASCII single quote' xg-quote-u.err` = 12 || exit 1 diff --git a/gettext-tools/tests/xgettext-appdata-1 b/gettext-tools/tests/xgettext-appdata-1 new file mode 100755 index 0000000..47a8884 --- /dev/null +++ b/gettext-tools/tests/xgettext-appdata-1 @@ -0,0 +1,127 @@ +#!/bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test of AppData support. + +cat <<EOF > xg-gs-1-empty.appdata.xml +<?xml version="1.0"?> +<component type="desktop"/> +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} -o xg-gs-1.pot xg-gs-1-empty.appdata.xml 2>/dev/null +test $? = 0 || { + echo "Skipping test: xgettext was built without AppData support" + exit 77 +} + +cat <<EOF > xg-gs-1.appdata.xml +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2013 First Lastname <your@email.com> --> +<component type="desktop"> + <id>gnome-power-statistics.desktop</id> + <metadata_license>CC0-1.0</metadata_license> + <project_license>GPL-2.0+ and GFDL-1.3</project_license> + <name>Power Statistics</name> + <summary>Observe power management</summary> + <description> + <p> + Power Statistics is a program used to view historical and current battery + information and will show programs running on your computer using power. + </p> + <p>Example list:</p> + <ul> + <li>First item</li> + <li>Second item</li> + </ul> + <p> + You probably only need to install this application if you are having problems + with your laptop battery, or are trying to work out what programs are using + significant amounts of power. + </p> + </description> + <screenshots> + <screenshot type="default"> + <image>http://www.hughsie.com/en_US/main.png</image> + <caption>The main window showing the application in action</caption> + </screenshot> + <screenshot> + <image>http://www.hughsie.com/en_US/preferences.png</image> + <caption>The preferences window where you can change the defaults</caption> + </screenshot> + </screenshots> + <url type="homepage">http://www.gnome.org/projects/en_US/gnome-power-manager</url> + <updatecontact>gnome-power-manager-list@gnome.org</updatecontact> + <project_group>GNOME</project_group> +</component> +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} --add-comments -o - xg-gs-1.appdata.xml | grep -v 'POT-Creation-Date' > xg-gs-1.pot || exit 1 + +cat <<EOF > xg-gs-1.ok +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: xg-gs-1.appdata.xml:7 +msgid "Power Statistics" +msgstr "" + +#: xg-gs-1.appdata.xml:8 +msgid "Observe power management" +msgstr "" + +#: xg-gs-1.appdata.xml:10 +msgid "" +"Power Statistics is a program used to view historical and current battery " +"information and will show programs running on your computer using power." +msgstr "" + +#: xg-gs-1.appdata.xml:14 +msgid "Example list:" +msgstr "" + +#: xg-gs-1.appdata.xml:16 +msgid "First item" +msgstr "" + +#: xg-gs-1.appdata.xml:17 +msgid "Second item" +msgstr "" + +#: xg-gs-1.appdata.xml:19 +msgid "" +"You probably only need to install this application if you are having " +"problems with your laptop battery, or are trying to work out what programs " +"are using significant amounts of power." +msgstr "" + +#: xg-gs-1.appdata.xml:28 +msgid "The main window showing the application in action" +msgstr "" + +#: xg-gs-1.appdata.xml:32 +msgid "The preferences window where you can change the defaults" +msgstr "" +EOF + +: ${DIFF=diff} +${DIFF} xg-gs-1.ok xg-gs-1.pot +result=$? + +exit $result diff --git a/gettext-tools/tests/xgettext-c-19 b/gettext-tools/tests/xgettext-c-19 index 09a227a..674af4f 100755 --- a/gettext-tools/tests/xgettext-c-19 +++ b/gettext-tools/tests/xgettext-c-19 @@ -33,7 +33,7 @@ iconv -f UTF-8 -t EUC-JP < xg-c-19.in.c > xg-c-19.c \ ${XGETTEXT} --from-code=EUC-JP --add-comments --no-location --no-wrap \ -o - xg-c-19.c | grep -v 'POT-Creation-Date' > xg-c-19.tmp.po \ - || { cp core* ..; exit 1; } + || exit 1 LC_ALL=C tr -d '\r' < xg-c-19.tmp.po > xg-c-19.po || exit 1 cat <<\EOF > xg-c-19.ok diff --git a/gettext-tools/tests/xgettext-c-20 b/gettext-tools/tests/xgettext-c-20 index 73e4442..283f8d0 100755 --- a/gettext-tools/tests/xgettext-c-20 +++ b/gettext-tools/tests/xgettext-c-20 @@ -5,26 +5,44 @@ : ${XGETTEXT=xgettext} -cat <<\EOF > err0.c +cat <<\EOF > err0.cc gettext ("aaa( bbb )ccc"); EOF -(LANGUAGE= LC_ALL=C ${XGETTEXT} --no-location --no-wrap -o - err0.c 2>&1; exit) | grep 'unterminated string literal' || exit 1 +(LANGUAGE= LC_ALL=C ${XGETTEXT} --no-location --no-wrap -o - err0.cc 2>&1; exit) | grep 'unterminated string literal' || exit 1 -cat <<\EOF > err1.c +cat <<\EOF > err1.cc gettext (R"aaa( bbb )ccc"); EOF -(LANGUAGE= LC_ALL=C ${XGETTEXT} --no-location --no-wrap -o - err1.c 2>&1; exit) | grep 'unterminated string literal' || exit 1 +(LANGUAGE= LC_ALL=C ${XGETTEXT} --no-location --no-wrap -o - err1.cc 2>&1; exit) | grep 'unterminated string literal' || exit 1 cat <<\EOF > xg-c-20.cc #define X "" gettext (X"This is a concatenation of a macro and a string"); +#define RR "" +gettext (RR"This (is NOT a raw string"); + +#define u8RR "" +gettext (u8RR"This (is NOT a raw string"); + +#define uRR "" +gettext (uRR"This (is NOT a raw string"); + +#define URR "" +gettext (URR"This (is NOT a raw string"); + +#define LRR "" +gettext (LRR"This (is NOT a raw string"); + +#define uX "" +gettext (uX"This (is NOT a raw string"); + gettext (u8"This is a UTF-8 string"); u88"This is not a UTF-8 string"; @@ -51,14 +69,6 @@ LR"aaa( This is a wide raw string )aaa"; -// Missing opening parenthesis; be tolerate and treat it as a normal string. -gettext (u8R"bar) -aaa"); - -// Missing closing parenthesis; be tolerate and treat it as a normal string. -gettext (u8R"aaa( -bar"); - // 'LR' prefixed raw string should be skipped. LR"( @@ -70,7 +80,7 @@ EOF ${XGETTEXT} --add-comments --no-location --no-wrap \ -o - xg-c-20.cc | grep -v 'POT-Creation-Date' > xg-c-20.tmp.po \ - || { cp core* ..; exit 1; } + || exit 1 LC_ALL=C tr -d '\r' < xg-c-20.tmp.po > xg-c-20.po || exit 1 cat <<\EOF > xg-c-20.ok @@ -95,6 +105,9 @@ msgstr "" msgid "This is a concatenation of a macro and a string" msgstr "" +msgid "This (is NOT a raw string" +msgstr "" + msgid "This is a UTF-8 string" msgstr "" @@ -107,22 +120,45 @@ msgid "" "\n" "This is a raw UTF-8 string\n" msgstr "" +EOF + +: ${DIFF=diff} +${DIFF} xg-c-20.ok xg-c-20.po || exit 1 + +cat <<\EOF > xg-c-20.c +gettext (R"aaa(This is NOT a raw string"); + +gettext (u8R"aaa(This is NOT a raw string"); + +uR"aaa(This is NOT a raw string"; +EOF + +${XGETTEXT} --add-comments --no-location --no-wrap \ + -o - xg-c-20.c | grep -v 'POT-Creation-Date' > xg-c-20c.tmp.po \ + || exit 1 +LC_ALL=C tr -d '\r' < xg-c-20c.tmp.po > xg-c-20c.po || exit 1 -#. Missing opening parenthesis; be tolerate and treat it as a normal string. +cat <<\EOF > xg-c-20c.ok +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy msgid "" -"bar)\n" -"aaa" msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" -#. Missing closing parenthesis; be tolerate and treat it as a normal string. -msgid "" -"aaa(\n" -"bar" +msgid "aaa(This is NOT a raw string" msgstr "" EOF -: ${DIFF=diff} -${DIFF} xg-c-20.ok xg-c-20.po -result=$? - -exit $result +${DIFF} xg-c-20c.ok xg-c-20c.po || exit 1 diff --git a/gettext-tools/tests/xgettext-c-21 b/gettext-tools/tests/xgettext-c-21 new file mode 100755 index 0000000..4fdcfe9 --- /dev/null +++ b/gettext-tools/tests/xgettext-c-21 @@ -0,0 +1,49 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test C support: invalid NUL termination + +: ${XGETTEXT=xgettext} + +${XGETTEXT} --add-comments --no-location --no-wrap \ + -o - "$abs_srcdir"/xg-c-21.c \ + | grep -v 'POT-Creation-Date' > xg-c-21.tmp.po || exit 1 +LC_ALL=C tr -d '\r' < xg-c-21.tmp.po > xg-c-21.po || exit 1 + +cat <<\EOF > xg-c-21.ok +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "\n" +msgstr "" + +msgid "\\u" +msgstr "" + +msgid "\\U" +msgstr "" + +msgid "\\u3" +msgstr "" +EOF + +: ${DIFF=diff} +${DIFF} xg-c-21.ok xg-c-21.po +result=$? + +exit $result diff --git a/gettext-tools/tests/xgettext-desktop-1 b/gettext-tools/tests/xgettext-desktop-1 index ae90879..c6f9df1 100755 --- a/gettext-tools/tests/xgettext-desktop-1 +++ b/gettext-tools/tests/xgettext-desktop-1 @@ -26,6 +26,19 @@ EOF (LANGUAGE= LC_ALL=C ${XGETTEXT} --add-comments -o - err3.desktop 2>&1; exit) | grep "invalid non-blank line" || exit 1 +cat <<\EOF >err4.desktop +[Desktop Entry]a +EOF + +(LANGUAGE= LC_ALL=C ${XGETTEXT} --add-comments -o - err4.desktop 2>&1; exit) | grep "invalid non-blank character" || exit 1 + +# gettext 0.19.4 issued an baseless warning of this. +cat <<\EOF >ok4.desktop +[Desktop Entry] +EOF + +(LANGUAGE= LC_ALL=C ${XGETTEXT} --add-comments -o - ok4.desktop 2>&1; exit) | grep "invalid non-blank character" && exit 1 + cat <<\EOF > xg.desktop [Desktop Entry] Type=Application diff --git a/gettext-tools/tests/xgettext-its-1 b/gettext-tools/tests/xgettext-its-1 new file mode 100755 index 0000000..9e3cac5 --- /dev/null +++ b/gettext-tools/tests/xgettext-its-1 @@ -0,0 +1,276 @@ +#!/bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test of ITS support. + +: ${XGETTEXT=xgettext} + +GETTEXTDATADIR=. +export GETTEXTDATADIR + +cat <<\EOF > empty.xml +<?xml version="1.0"?> +<empty></empty> +EOF + +${XGETTEXT} --itstool -o empty.pot empty.xml 2>empty.err || { cat empty.err; exit 1; } + +test -d its || mkdir its + +cat <<\EOF > its/empty-1.loc +<?xml version="1.0"?> +<locatingRules/> +EOF + +${XGETTEXT} --itstool -o empty.pot empty.xml 2>empty.err || { cat empty.err; exit 1; } + +cat <<\EOF > its/empty-2.loc +<?xml version="1.0"?> +<locatingRules> + <locatingRule pattern="*.xml"> + <documentRule prefix="" localName="empty" target="empty.its"/> + </locatingRule> +</locatingRules> +EOF + +${XGETTEXT} --itstool -o empty.pot empty.xml 2>empty.err || { cat empty.err; exit 1; } + +cat <<\EOF > its/empty.its +<?xml version="1.0"?> +<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0"> +</its:rules> +EOF + +${XGETTEXT} --itstool -o empty.pot empty.xml 2>empty.err || { cat empty.err; exit 1; } + +cat <<\EOF > its/messages.loc +<?xml version="1.0"?> +<locatingRules> + <locatingRule pattern="*.xml"> + <documentRule localName="messages" target="messages.its"/> + </locatingRule> + <locatingRule pattern="*.msg"> + <documentRule localName="messages" target="messages.its"/> + </locatingRule> +</locatingRules> +EOF + +cat <<\EOF > its/messages.its +<?xml version="1.0"?> +<its:rules xmlns:its="http://www.w3.org/2005/11/its" + xmlns:gt="https://www.gnu.org/s/gettext/ns/its/extensions/1.0" + xmlns:msg="http://www.gnu.org/s/gettext/ns/messages/1.0" + version="1.0"> + <!-- Invalid: no selector --> + <its:translateRule translate="yes"/> + <!-- Invalid: no translate --> + <its:translateRule selector="/"/> + + <its:translateRule selector="//msg:message/@comment" translate="yes"/> + <its:translateRule selector="//msg:note" translate="no"/> + <its:translateRule selector="//msg:p[@translatable = 'no']" + translate="no"/> + + <!-- Invalid: no selector --> + <its:locNoteRule locNoteType="alert"/> + <!-- Invalid: no locNoteType --> + <its:locNoteRule selector="/"/> + <its:locNoteRule selector="//msg:message/*" locNoteType="alert" + locNotePointer="../msg:note"/> + <its:locNoteRule selector="//msg:code" locNoteType="alert"> + <its:locNote>This is code</its:locNote> + </its:locNoteRule> + <its:locNoteRule selector="//msg:message/@comment" locNoteType="alert"> + <its:locNote>This is a comment</its:locNote> + </its:locNoteRule> + + <!-- Invalid: no selector --> + <its:withinTextRule withinText="yes"/> + <!-- Invalid: no withinText --> + <its:withinTextRule selector="/"/> + <its:withinTextRule selector="//msg:span | //msg:link" withinText="yes"/> + + <!-- Invalid: no selector --> + <its:preserveSpaceRule space="preserve"/> + <!-- Invalid: no space --> + <its:preserveSpaceRule selector="/"/> + <its:preserveSpaceRule selector="//msg:code" space="preserve"/> + + <gt:contextRule selector="//msg:p[@context = 'yes']" + contextPointer="substring-before(., '|')" + textPointer="substring-after(., '|')"/> + + <gt:escapeRule selector="//msg:message/*[@unescape = 'yes']" escape="no"/> + + <its:translateRule selector="//msg:message/@unescaped" translate="yes"/> + <gt:escapeRule selector="//msg:message/@unescaped" escape="no"/> +</its:rules> +EOF + +cat <<\EOF >messages.xml +<?xml version="1.0"?> +<!DOCTYPE messages PUBLIC "" "" [ +<!ENTITY foo "bar"> +]> +<messages xmlns="http://www.gnu.org/s/gettext/ns/messages/1.0" + xmlns:its="http://www.w3.org/2005/11/its"> + <message> + <p>This is a test message &foo;><&""</p> + </message> + <message> + <p its:translate="no">This is a non-translatable message</p> + </message> + <message> + <p>This is a test message, with an <span>element</span> in a <link href="http://www.gnu.org/s/gettext">text</link></p> + </message> + <message> + <code> $ echo ' ' >> /dev/null + $ cat < /dev/yes + $ sleep 10 & +</code> + </message> + <message comment="This is a comment <>&""> + <p>This is a test message, with an attribute</p> + </message> + <message> + <note> + This is a localization note + </note> + <p>This is a test message, with a localization note</p> + </message> + <message> + <p its:locNote="This is a local localization note" its:locNoteType="alert"> + This is a test message, with a local localization note + </p> + </message> + <message> + <!-- empty element, which shouldn't be extracted --> + <p></p> + </message> + <message> + <p xml:space="preserve"> This is a message with space preserved</p> + </message> + <message> + <p translatable="no">This is a non-translatable string</p> + </message> + <message its:translate="no"> + <p>This is a non-translatable string</p> + </message> + <message> + <!-- This is a comment --> + <p context="yes">context|A translatable string with a context prefixed</p> + </message> + <message> + <p xml:space="trim"> Leading/trailing whitespaces are removed, + but not middle + </p> + </message> + <message> + <p unescape="yes">This is an unescaped element <>&"</p> + </message> + <message unescaped="This is an unescaped attribute <>&""> + <p></p> + </message> +</messages> +EOF + +cat <<\EOF >messages.ok +#. (itstool) path: message/p +#: messages.xml:8 +msgid "This is a test message &foo;><&\"\"" +msgstr "" + +#. (itstool) path: message/p +#: messages.xml:14 +msgid "This is a test message, with an <span>element</span> in a <link href=\"http://www.gnu.org/s/gettext\">text</link>" +msgstr "" + +#. This is code +#. (itstool) path: message/code +#: messages.xml:17 +#, no-wrap +msgid "" +" $ echo ' ' >> /dev/null\n" +" $ cat < /dev/yes\n" +" $ sleep 10 &\n" +msgstr "" + +#. This is a comment +#. (itstool) path: messages/message@comment +#: messages.xml:22 +msgid "This is a comment <>&"" +msgstr "" + +#. (itstool) path: message/p +#: messages.xml:23 +msgid "This is a test message, with an attribute" +msgstr "" + +#. This is a localization note +#. (itstool) path: message/p +#: messages.xml:29 +msgid "This is a test message, with a localization note" +msgstr "" + +#. This is a local localization note +#. (itstool) path: message/p +#: messages.xml:32 +msgid "This is a test message, with a local localization note" +msgstr "" + +#. (itstool) path: message/p +#: messages.xml:41 +#, no-wrap +msgid " This is a message with space preserved" +msgstr "" + +#. This is a comment +#. (itstool) path: message/p +#: messages.xml:51 +msgctxt "context" +msgid "A translatable string with a context prefixed" +msgstr "" + +#. (itstool) path: message/p +#: messages.xml:54 +msgid "" +"Leading/trailing whitespaces are removed,\n" +" but not middle" +msgstr "" + +#. (itstool) path: message/p +#: messages.xml:59 +msgid "This is an unescaped element <>&\"" +msgstr "" + +#. (itstool) path: messages/message@unescaped +#: messages.xml:61 +msgid "This is an unescaped attribute <>&\"" +msgstr "" +EOF + +: ${DIFF=diff} + +${XGETTEXT} --itstool --no-wrap --omit-header -o messages.pot messages.xml 2>messages.err || { cat messages.err; exit 1; } +${DIFF} messages.ok messages.pot +result=$? +test $result = 0 || exit $result + +# Check if locating rules can work with --directory, and extra ".in" +# file name extension. +test -d data || mkdir data +test -d po || mkdir po + +cp messages.xml data/messages.msg.in + +cd po +GETTEXTDATADIR=.. +export GETTEXTDATADIR + +${XGETTEXT} --itstool --no-wrap --omit-header --directory=.. -o messages.pot.in data/messages.msg.in 2>messages.err || { cat messages.err; exit 1; } +sed -e 's!^#: data/messages.msg.in!#: messages.xml!' \ + < messages.pot.in > messages.pot + +${DIFF} ../messages.ok messages.pot +result=$? +test $result = 0 || exit $result |